我已经安装了 RabbitMQ 并且它工作正常,直到我激活一个新的 NIC 接口并将 IPV4 的端口更改为 25672。这是netstat -nlpt
| grep 5672
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 971/beam.smp
tcp6 0 0 :::5672 :::* LISTEN 971/beam.smp
在 IPV6 上,它侦听端口 5672,但在 IPV4 上,它侦听 25672。令人惊讶的是,远程节点上的进程可以连接到 IP:5672,但在运行 RabbitMQ 进程的节点上运行的进程也无法连接给它!
我该如何解决这个问题?有什么方法可以为 RabbitMQ 指定 IP 而不是 0.0.0.0 来监听?
Linux(默认情况下)将 IPv4 视为 IPv6 的特例,因此通过侦听所有 IPv6 地址,我们也在侦听所有 IPv4 地址。
不要忘记允许使用 ufw 允许 5672/tcp 进行端口