簡體   English   中英

redis getaddrinfo ENOTFOUND - node.js, redis 連接

[英]redis getaddrinfo ENOTFOUND - node.js , redis connection

嗨,我正在嘗試從 node.js 連接到 redis,這是成功的,現在我在亞馬遜 EC2 實例上托管了我的 node.js 服務器應用程序,在亞馬遜彈性緩存實例上托管了 redis 與 redis 的連接成功,但偶爾我會收到以下錯誤.

var pub = redis.createClient(6379,'quizredis.qnsdtp.0001.apse1.cache.amazonaws.com'); 


events.js:72
    throw er; // Unhandled 'error' event
          ^       Error: Redis connection to quizredis.qnsdtp.0001.apse1.cache.amazonaws.com:6379 failed - getaddrinfo ENOTFOUND
at RedisClient.on_error (/home/ec2-user/roomChat-7/node_modules/redis/index.js:196:24)
at Socket.<anonymous> (/home/ec2-user/roomChat-7/node_modules/redis/index.js:106:14)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:813:16

我正在使用 redis-npm 模塊;

據我了解,這是一個 DNS 分辨率錯誤。 Elasticache Redis 是 VPC 特定的服務。 它的 DNS 記錄僅在 VPC 內可用,而且通常情況下,VPC 使用自定義 DHCP 選項和自定義 DNS 服務器 - 它可能沒有記錄。

檢查幾件事 -

  1. 在您的 VPC 中配置的 DNS 服務器。 在這里檢查。
  2. 檢查機器中 nslookup 命令的 output - 如果您使用 linux shell

nslookup quizredis.qnsdtp.0001.apse1.cache.amazonaws.com

干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM