Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

docker:MISCONF Redis को RDB स्नैपशॉट को सहेजने के लिए कॉन्फ़िगर किया गया है

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> . का उपयोग करने का प्रयास करें सत्यापित करने के लिए (इसने मेरे लिए काम करना बंद कर दिया)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis::CommandError:ERR क्लाइंट ने AUTH भेजा, लेकिन कोई पासवर्ड सेट नहीं किया गया

  2. C++ Redis मॉड्यूल बनाना - RedisModule_OnLoad () प्रतीक को निर्यात नहीं करता है

  3. स्प्रिंग बूट फ्रेमवर्क पर JedisConnectionFactory बेस के टाइमआउट को कैसे कॉन्फ़िगर करें

  4. रेडिस वैल्यू अपडेट

  5. क्लाइंट को कैसे बताएं कि नया रेडिस मास्टर सेंटिनल का उपयोग कर रहा है