【问题标题】:SSL connections to Redis instance for socket-io adapter用于 socket-io 适配器的到 Redis 实例的 SSL 连接
【发布时间】:2020-09-04 14:28:53
【问题描述】:

如何使用socket.io-redis模块通过rediss://方案连接远程redis实例?

另一个问题是我需要输入凭据进行身份验证,但此模块忽略 username(对于只有密码的 redis 实例可以正常工作)。

【问题讨论】:

    标签: node.js redis socket.io


    【解决方案1】:

    我创建了pub 和sub redis 客户端,因为我无法弄清楚如何在没有redis 模块(包括username)的情况下为socket.io-redis 适配器提供正确的凭据,而且它似乎不支持@ 987654326@自己的方案。

    const redis = require("redis");
    const socket = require('socket.io');
    const redisAdapter = require('socket.io-redis');
    const URL = require('url').URL;
    
    const io = socket(httpServer, socketOption);
    const connectionString = "rediss://admin:password@private-redis-xxxx.db.ondigitalocean.com:25061"
    
    const pub = redis.createClient(connectionString, { tls: { servername: new URL(connectionString).hostname } });
    const sub = redis.createClient(connectionString, { tls: { servername: new URL(connectionString).hostname } });
    
    io.adapter(redisAdapter({ pubClient: pub, subClient: sub }));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 1970-01-01
      • 2022-09-27
      相关资源
      最近更新 更多