sql >> Database >  >> NoSQL >> Redis

docker:MISCONF Redis is geconfigureerd om RDB-snapshots op te slaan

TL;DR Je redis is niet veilig

UPDATE: Gebruik bloot in plaats van ports dus de service is alleen beschikbaar voor gekoppelde services

Open poorten zonder ze op de hostmachine te publiceren - ze zijn alleen toegankelijk voor gekoppelde services. Alleen de interne poort kan worden gespecificeerd.

expose
 - 6379

ORIGINEEL ANTWOORD:

lang antwoord:

Dit komt mogelijk door een onbeveiligde redis-server voorbeeld. De standaard redis-afbeelding in een docker-container is niet beveiligd.

Ik kon verbinding maken met redis op mijn webserver met alleen redis-cli -h <my-server-ip>

Om dit op te lossen, heb ik dit DigitalOcean-artikel en vele andere doorgenomen en de poort kunnen sluiten.

  • Je kunt hier een standaard redis.conf kiezen
  • Update vervolgens uw docker-compose redis sectie naar (bestandspaden dienovereenkomstig bijwerken)
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"

het pad naar redis.conf in command en volumes moet overeenkomen

  • herbouw redis of alle services zoals vereist
  • probeer redis-cli -h <my-server-ip> te gebruiken om te verifiëren (het werkte niet meer voor mij)



  1. Woordenboek invoegen in MongoDB met c#-stuurprogramma

  2. Hoe converteer ik een eigenschap in MongoDB van tekst naar datumtype?

  3. Uw Linux-omgeving optimaliseren voor MongoDB

  4. Redis Verbinding via socket op Node.js