无法停止 RabbitMQ 在所有接口上监听端口 25672

无法停止 RabbitMQ 在所有接口上监听端口 25672

我目前正在开发一个使用 celery 和 rabbitmq 结合的应用程序,出于安全考虑,不需要任何互联网连接的服务只能在本地主机上监听。

环顾四周后我发现这个问题表明我如何能够最多端口仅在本地主机上监听,但是由于某种原因端口25672保持打开状态,我确定这是 rabbitmq 的一部分:

$ nmap -sV -p25672 -T5 <my server>

Starting Nmap 7.50 ( https://nmap.org ) at 2018-08-04 23:54 CEST
Nmap scan report for <my server> (<my server>)
Host is up (0.011s latency).

PORT      STATE  SERVICE VERSION
25672/tcp open   unknown

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 124.87 seconds

在服务器上:

$ lsof -i :25672
COMMAND   PID     USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
beam.smp 4513 rabbitmq   12u  IPv4 473675236      0t0  TCP *:25672 (LISTEN)

rabbitmq 的条目man没有说明如何更改这一点,我在网上也找不到如何更改。有人能告诉我如何让它监听127.0.0.1而不是监听吗0.0.0.0


编辑:不管它,iptables 就行。

iptables -A INPUT -p tcp -s localhost --dport 25672 -j ACCEPT
iptables -A INPUT -p tcp --dport 25672 -j DROP

答案1

我在文档在搜索后五秒内rabbitmq port...

listeners.tcp.1 = 127.0.0.1:5672
listeners.tcp.2 = ::1:5672

或者采用经典配置格式:

[
  {rabbit, [
    {tcp_listeners, [{"127.0.0.1", 5672},
                     {"::1",       5672}]}
  ]}
].

(警告:您可能需要两者,因为 localhost 在过去十年左右发布的所有操作系统上解析为 ::1,而仅绑定到 127.0.0.1 可能会导致某些应用程序出现问题。)

相关内容