ノードで TLS を使用して Heroku Redis に接続できないようです。
これらのドキュメントはあまり役に立ちません: https://devcenter.heroku.com/articles/securing-heroku-redis
誰かが実用的な例を持っていますか? REDIS_URL または REDIS_TLS_URL を使用する必要がありますか?
node_redis v3を使用しています
ノードで TLS を使用して Heroku Redis に接続できないようです。
これらのドキュメントはあまり役に立ちません: https://devcenter.heroku.com/articles/securing-heroku-redis
誰かが実用的な例を持っていますか? REDIS_URL または REDIS_TLS_URL を使用する必要がありますか?
node_redis v3を使用しています
Heroku の Redis 6 アドオンが、Error: self signed certificate in certificate chain
Node.js で ioredis を使用してパラメーターなしで REDIS_URL に接続すると、エラーが発生することがわかりました。このエラーは、TLS オプションをrejectUnauthorized
set to に渡すことで回避できますfalse
。
のrejectUnauthorized
はfalse
自己署名証明書を許可しますが、これは MITM 攻撃が懸念される場合に問題になります。背景については、 TLS オプションを参照してください。
これはioredis
、rediss:// と redis:// の URL を含む最新のパッケージで機能しています...
const REDIS_URL = process.env.REDIS_URL;
const redis_uri = url.parse(REDIS_URL);
const redisOptions = REDIS_URL.includes("rediss://")
? {
port: Number(redis_uri.port),
host: redis_uri.hostname,
password: redis_uri.auth.split(":")[1],
db: 0,
tls: {
rejectUnauthorized: false,
},
}
: REDIS_URL;
const redis = new Redis(redisOptions);