首页/数据/Redis 进阶速查/哨兵端口与 TLS
主从与哨兵51 条

哨兵端口与 TLS

哨兵默认端口 26379(可通过 port 修改),6.0+ 支持 TLS 保护哨兵与实例、哨兵之间的通信链路。

Redis 进阶速查数据更新于 2026-10-13

哨兵端口与加密

哨兵自己会监听一个端口用来接收其他哨兵和客户端的命令,默认是 26379,跟数据实例的 6379 完全是两回事。Redis 6.0 起哨兵也支持 TLS,可以把「客户端到哨兵」「哨兵到数据实例」「哨兵之间」这几条链路的流量分别加密,避免拓扑与命令明文暴露。

基本信息

默认端口26379,可用 port 参数修改
协议文本 RESP,与数据实例一致
TLS 支持Redis 6.0 起提供相关 tls-* 参数
部署要求所有哨兵使用一致端口与一致安全策略

典型使用场景

  • 新增哨兵节点后核对端口与连通性
  • 加固内网拓扑信息,避免哨兵命令被明文抓取
  • 跨机房部署时为跨境链路启用加密
  • 变更端口后同步更新客户端、防火墙与监控采集目标
  • 投票失败时确认哨兵互相访问的端口是否放行

端口核对

端口核对
# 哨兵自身存活与端口监听情况
redis-cli -p 26379 PING
ss -lntp | grep 26379
# 看监控的主库与各哨兵地址,端口配错时这里最容易暴露
redis-cli -p 26379 SENTINEL MASTERS
redis-cli -p 26379 SENTINEL SENTINELS mymaster
# 客户端取主库地址时连的也是哨兵端口,不是 6379
redis-cli -p 26379 SENTINEL GET-MASTER-ADDR-BY-NAME mymaster

常见端口分工

端口用途注意点
6379数据实例默认端口业务读写走这里
26379哨兵默认端口管理与仲裁走这里
6380 / 26380常见的第二实例与第二哨兵约定部署前确认无冲突
tls-port启用加密后的监听端口可能与明文端口并存
monitor 里的端口被监控实例的真实端口写错会导致哨兵误判主库下线
启用加密时通常会有明文与加密两套监听并存的能力,无论取舍如何,哨兵之间与哨兵到实例这两条链路的策略要保持一致,否则一方握手失败,仲裁结果就会失真。
改端口后忘记放行防火墙,会出现「哨兵进程在跑、客户端却连不上」这种看起来矛盾的现象;端口变更需要同步改动客户端、监控与网络策略,建议按变更单执行。

易错点

  • 只放行数据端口、漏放哨兵端口 → 哨兵之间无法互访,客观下线永远凑不够票数 → 在网络策略里显式放行所有哨兵之间的端口
  • 把哨兵端口当成业务端口写进应用配置 → 应用读写请求发到哨兵上,行为异常 → 区分「连哨兵取地址」与「连实例读写」两类客户端
  • 只给客户端入口加密,哨兵到实例仍明文 → 拓扑与鉴权流量裸露在内网 → 三条链路一起加固并做升级演练
  • 出问题先在实例侧排查 → 实际是哨兵端口被拦截或端口冲突 → 先在哨兵侧用 PING 与 ss 定位

数据来源与参考

  • Redis 官方文档:Sentinel 端口与 TLS 支持说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌