当前位置: 首页 > 知识库问答 >
问题:

Redis 6 TLS支持和Redis Sentinel

栾昂雄
2023-03-14

有人知道这样做的方法吗,或者如果不可能,如果网上有任何提到未来对此增加支持?拥有这些很好的TLS特性,却不能用Redis自己的工具来使用它们,这似乎是一种遗憾。
我知道过去人们使用Stunnel来实现这一点。随着TLS支持添加到Redis,我只对这样做感兴趣,如果它可以做到没有第三方添加。

我的设置:
3个Redis服务器(6.0-rc,上周最后一次拉出),使用Redis文档中指定的测试证书运行TLS-一个主服务器和两个副本
3个哨兵服务器(6.0-rc,也是上周最后一次拉出),在它们的端口上不运行TLS(我想,但这是一个次要问题)

我所尝试的:

>

  • 将Sentinel指向Redis TLS端口-这会导致Redis的日志中出现大量关于接收到不正确TLS版本的TLS错误,因为Sentinel没有对Redis说TLS。既然失败了,哨兵就认为主人倒下了。

    在主IP前面的Sentinel配置中添加“https://”-这将导致Sentinel拒绝运行,说它找不到主主机名。

    向Sentinel添加TLS选项-这将导致Sentinel试图在其端口上与TLS对话,而不是与客户端对话,这于事无补。我找不到任何具体的选择来让哨兵对客户说TLS。

    将Sentinel指向Redis not-TLS端口(不理想,我宁愿只打开TLS端口)--这将导致Sentinel向我测试的简单Python客户端报告错误的主端口(not-TLS)(它实际上只是试图从Sentinel获取主信息)--出于明显的原因,我希望客户端通过TLS与Redis对话

    将“replica-announca-port”指令添加到Redis,同时Sentinel仍然指向not-TLS端口-这在两个方面失败:主端口仍然被错误地报告为not-TLS端口(似乎是因为主端口不是副本,所以指令不适用),Sentinel现在认为副本都关闭了(因为报告了TLS端口,副本被自动发现,它不能与TLS端口上的副本说话)。

    我知道这个StackOverflow问题(Redis Sentinel和TLS)--它很老,问的是Redis4,所以不一样。

  • 共有1个答案

    闻人栋
    2023-03-14

    我确实知道了这一点,但忘记了前面的答案:我遗漏的部分是,我需要在Redis和Sentinel服务器上设置tls-replication yes选项。

    以前,我只在Redis服务器上设置它,因为它们是唯一需要通过TLS进行复制的服务器。但出于某种原因,这个特定的选项是真正让哨兵对Redis说TLS所需要的。

    因此,总的来说,对于TLS选项,方程的两边都需要:

    tls-port <port>
    port 0
    tls-auth-clients yes
    tls-ca-cert-file <file>
    tls-key-file <file>
    tls-cert-file <file>
    tls-replication yes
    
     类似资料:
    • 我对Android Studio3.0金丝雀有一个问题。在所有项目中,我不能使用预览工具中的支持库中的任何视图。显示呈现错误。在新项目中也是同样的问题。 Samople代码: 格雷德尔:

    • 社区帮助 社区帮助是 adobe.com/cn 上的一个集成环境,允许您访问由 Adobe 和行业专家主持的社区生成的内容。用户的注释可帮助您找到答案。搜索 “社区帮助 ”,查找 Web 上关于 Adobe 产品和技术的最佳内容,包含以下资源: 视频、教程、提示和技巧、博客、文章及设计和开发人员的示例。 完整的联机帮助。此联机帮助会定期更新且比随产品提供的 “帮助 ”更完整。访问帮助时,如果连接到

    • 对于Requests,如果你有问题或者建议,可以通过下面几种方法得到支持: StackOverflow 如果你的问题不包含敏感或私有信息,或者你能将这些信息匿名化,那你就可以在 StackOverflow 上使用 python-requests 标签提问。 发送推文 如果你的问题在140个字符内描述,欢迎在 twitter 上发送推文至 @kennethreitz, @sigmavirus24,

    • 我想用com。Android支持:设计:22.2.0在我的Android Studio(1.3)项目中,但当我添加'com'时。Android支持:设计:22.2.0'到依赖{}我有103个错误,我无法摆脱这个错误。 如果我尝试使用新版本的appcompat,也会发生同样的情况。现在我有了“com”。Android支持:appcompat-v7:19。“以我的身材。格雷德尔。 有人知道吗? 我的错

    • 本文列出了Apache HTTP服务器中所有的可执行程序。 索引 httpd Apache超文本传输协议服务器 apachectl Apache HTTP服务器控制接口 ab Apache HTTP服务器性能测试工具 apxs APache功能扩展工具 configure 配置源代码树 dbmmanage 建立和更新DBM形式的基本认证文件 htcacheclean 清理磁盘缓冲区 htdiges

    • 更多教程 Cocos 引擎官方微信公众号 Cocos 引擎官方微信公众号,第一时间为您送上引擎动态、精品教程、达人专访等干货。 哔哩哔哩 — Cocos 官方 不定期直播、以及官方教程等持续更新中。 演示和范例项目 注意,所有 GitHub 上的演示和范例项目都会跟随版本进行更新,默认分支对应目前最新的 Cocos Creator 版本,老版本的项目会以 v0.7 这样的分支名区分,分支名会和相同