TL;DR आपका रेडिस सुरक्षित नहीं है
अद्यतन करें: ports के बजाय एक्सपोज़ का उपयोग करें इसलिए सेवा केवल लिंक की गई सेवाओं के लिए उपलब्ध है
पोर्ट को होस्ट मशीन पर प्रकाशित किए बिना एक्सपोज़ करें - वे केवल लिंक की गई सेवाओं तक ही पहुंच योग्य होंगे। केवल आंतरिक पोर्ट निर्दिष्ट किया जा सकता है।
expose
- 6379
मूल उत्तर:
लंबा उत्तर:
यह संभवतः एक असुरक्षित redis-server . के कारण है उदाहरण। डॉकर कंटेनर में डिफ़ॉल्ट रेडिस छवि असुरक्षित है।
मैं redis . से कनेक्ट करने में सक्षम था मेरे वेबसर्वर पर बस redis-cli -h <my-server-ip> . का उपयोग करके
इसे हल करने के लिए, मैं इस DigitalOcean लेख और कई अन्य लोगों के माध्यम से चला गया और बंदरगाह को बंद करने में सक्षम था।
- आप यहां से एक डिफ़ॉल्ट redis.conf चुन सकते हैं
- फिर अपना docker-compose अपडेट करें
redisअनुभाग (तदनुसार फ़ाइल पथ अपडेट करें)
redis:
restart: unless-stopped
image: redis:6.0-alpine
command: redis-server /usr/local/etc/redis/redis.conf
env_file:
- app/.env
volumes:
- redis:/data
- ./app/conf/redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "6379:6379"
redis.conf का पथ command . में और volumes मेल खाना चाहिए
- आवश्यकतानुसार रेडिस या सभी सेवाओं का पुनर्निर्माण करें
redis-cli -h <my-server-ip>. का उपयोग करने का प्रयास करें सत्यापित करने के लिए (इसने मेरे लिए काम करना बंद कर दिया)