首页主机资讯CentOS RabbitMQ网络配置注意事项

CentOS RabbitMQ网络配置注意事项

时间2025-12-10 00:24:03发布访客分类主机资讯浏览787
导读:CentOS 上部署与运维 RabbitMQ 的网络配置要点 一 端口与防火墙 常用端口及用途 4369/TCP:Erlang Port Mapper Daemon(epmd),节点发现用 25672/TCP:Erlang 分布式节点间...

CentOS 上部署与运维 RabbitMQ 的网络配置要点

一 端口与防火墙

  • 常用端口及用途
    • 4369/TCP:Erlang Port Mapper Daemon(epmd),节点发现用
    • 25672/TCP:Erlang 分布式节点间通信(集群)
    • 5671-5672/TCP:AMQP 0-9-1 与 AMQPS(TLS)
    • 15672/TCP:HTTP API 与管理插件
    • 可选:61613-61614/TCP(STOMP)、1883/8883/TCP(MQTT/TLS)
  • firewalld 放行示例(CentOS 7/8)
    • 开放端口:firewall-cmd --permanent --add-port={ 4369,25672,5671-5672,15672} /tcp
    • 可选插件端口:firewall-cmd --permanent --add-port={ 61613-61614,1883,8883} /tcp
    • 重载规则:firewall-cmd --reload
    • 验证:firewall-cmd --list-all
  • 排查要点
    • 管理界面访问异常,优先检查 15672 是否放行
    • 客户端连不通,检查 5672/5671 与服务器监听地址
    • 集群无法组建,确认 436925672 互通
    • 监听与连通性可用:ss -tlnp | egrep '5672|15672|25672|4369',以及 nc -vz < host> < port> 测试连通性

二 监听地址与协议

  • 绑定地址
    • 默认仅监听 127.0.0.1 时,远程无法访问;需在配置文件 /etc/rabbitmq/rabbitmq.conf 中设置 listeners.tcp.default=0.0.0.0:5672(或指定内网地址),并重启服务
    • 管理插件同理,确保管理端口对外可达
  • 协议与加密
    • 启用 TLS:开放 5671,在 rabbitmq.conf 配置 listeners.ssl.default=5671 并提供证书
    • 如需明文 AMQP,确保 5672 开放且监听正确地址
  • 配置文件与生效
    • 新版使用 rabbitmq.conf(key=value);旧版为 rabbitmq.config(Erlang 元组)
    • 两个文件同时存在时,仅读取旧版;修改后执行 systemctl restart rabbitmq-server 使配置生效

三 认证与访问控制

  • 远程访问限制
    • 默认 guest/guest 仅允许 localhost 登录;远程访问请创建新用户并赋权,或在新版配置中设置 loopback_users.guest = false
    • 推荐做法:
      • 新增管理员:rabbitmqctl add_user < user> < pwd>
      • 赋权:rabbitmqctl set_user_tags < user> administrator
      • 设置权限:rabbitmqctl set_permissions -p / < user> ".*" ".*" ".*"
  • 最小权限原则
    • 生产环境避免使用默认账户远程登录,按 vhost 与业务最小权限分配账户与权限

四 集群网络与主机名解析

  • 主机名与解析
    • 集群节点需能通过 短主机名 互相解析,建议在 /etc/hosts 明确映射所有节点 IP 与主机名
  • Erlang Cookie
    • 所有节点 /var/lib/rabbitmq/.erlang.cookie 内容必须一致;可使用 scp 同步后重启服务
  • 集群通信端口
    • 保证 4369(epmd)与 25672(节点间通信)在集群各节点间双向可达
  • 加入集群示例
    • 在待加入节点执行:rabbitmqctl stop_apprabbitmqctl join_cluster --ram rabbit@< 目标节点主机名> rabbitmqctl start_app
    • 查看状态:rabbitmqctl cluster_status

五 安全加固与运维排错

  • SELinux
    • 如启用 SELinux,可能需要放行网络:setsebool -P nis_enabled 1(或按实际策略调整)
  • 日志与诊断
    • 日志路径:/var/log/rabbitmq/;连接失败、插件未启用、端口未监听等问题优先查日志
    • 管理界面启用:rabbitmq-plugins enable rabbitmq_management,访问 http://:15672
  • 监听与连通性自检
    • 查看监听:ss -tlnp | egrep '5672|15672|25672|4369'
    • 端口连通:nc -vz < host> < port> ;跨主机测试更可靠
  • 变更与升级
    • 修改 rabbitmq.conf 后需重启;涉及 Erlang 版本变更时,注意与 RabbitMQ 的版本兼容性,避免滚动升级导致节点失联

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS RabbitMQ网络配置注意事项
本文地址: https://pptw.com/jishu/767702.html
RabbitMQ在CentOS上的消息持久化策略 如何使用CentOS管理RabbitMQ用户

游客 回复需填写必要信息