TLS 支持
#
快速入门#
构建要构建带 TLS 支持的版本,您需要 OpenSSL 开发库(例如 Debian/Ubuntu 上的 libssl-dev)。
KeyDB 现在默认启用 TLS 进行构建,所有 KeyDB 的软件包和发行版都附带启用了 TLS。如果需要构建不支持 TLS 的版本,您需要运行 make BUILD_TLS=no
。
#
测试要使用 TLS 运行 KeyDB 测试套件,您需要为 TCL 提供 TLS 支持(即 Debian/Ubuntu 上的 tcl-tls
软件包)。
运行
./utils/gen-test-certs.sh
来生成一个根 CA 和一个服务器证书。运行
./runtest --tls
或./runtest-cluster --tls
以在 TLS 模式下运行 KeyDB 和 Redis 集群测试。
#
手动运行要手动以 TLS 模式运行 KeyDB 服务器(假设已经调用了 gen-test-certs.sh
,因此示例证书/密钥可用):
要使用 keydb-cli
连接到此 KeyDB 服务器:
这将禁用 TCP 并在端口 6379 上启用 TLS。也可以同时提供 TCP 和 TLS,但您需要为它们分配不同的端口。
要使副本使用 TLS 连接到主节点,请使用 --tls-replication yes
;要使 KeyDB 集群在节点间使用 TLS,请使用 --tls-cluster yes
。
#
连接现在,所有套接字操作都通过一个连接抽象层进行,该层对调用者隐藏了 I/O 和读/写事件处理。
请注意,与 Redis 不同,KeyDB 完全支持 TLS 连接的多线程。
#
待办事项列表- keydb-benchmark 的支持。目前的实现是混合使用 hiredis 进行解析和基本网络操作(建立连接),但大多数操作直接操纵套接字。为了实现适当的 TLS 支持,这需要进行清理。最好的方法可能是迁移到 hiredis 的异步模式。
- keydb-cli 的
--slave
和--rdb
支持。
#
多端口考虑允许在单独的端口上配置 TLS 的影响,这会使 KeyDB 在多个端口上监听:
- 启动横幅中的端口通知
- 进程标题
- 副本如何宣告自己
- 集群总线端口计算