如何使用“ioredis”通过ssh隧道通过ssl连接到redis示例(aws elasticcache)?

vohkndzv  于 2021-06-07  发布在  Redis
关注(0)|答案(0)|浏览(556)

这似乎是关于 ioredis 以及对tls的支持。这些都在mac、catalina等上。
我有一个elasticcache redis示例,在vpc中运行。我和宋承宪打交道,

ssh -L 6379:clustercfg.my-test-redis.amazonaws.com:6379 -N MyEC2

以下内容不适用于 node 12.9 , ioredis 4.19.4 ```

const Redis = require("ioredis");
const redis = new Redis('rediss://127.0.0.1:6379');

[ioredis] Unhandled error event: Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: IP: 127.0.0.1 is not in the cert's list:
at Object.checkServerIdentity (tls.js:287:12)
<repeated ... many times>

这也行不通:

const Redis = require("ioredis");
const redis = new Redis('redis://127.0.0.1:6379');
redis.status
'connect'
redis.set('fooo','barr').then(console.log).catch(console.error)
Promise { }
redis.status
'connect'

有什么办法让我和你一起做吗 `ioredis` ? 这只是为了调试。如果第一个表单是正确的,是否有允许证书的“非严格”验证的设置?
这可以(在mac上)工作

% openssl s_client -connect localhost:6379
set "fred" "Mary"
+OK
get "fred"
$4
Mary

这是可行的(通过pip3安装redis)

!/usr/bin/env python3

import redis
r = redis.Redis(host='127.0.0.1', ssl=True, port=6379)
r.set('foo', 'bar')
print(r.get('foo'))

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题