Mac에서 RabbitMQ에 액세스하려면 포트 5672/tcp를 엽니다.

Mac에서 RabbitMQ에 액세스하려면 포트 5672/tcp를 엽니다.

내 Mac에 기본 구성으로 최신 버전의 RabbitMQ가 설치되어 있고 localhost에서 액세스할 때 아무런 문제가 없습니다. 하지만 오늘은 로컬 네트워크에 Linux 시스템을 구축했는데 해당 시스템에서 원격으로 RabbitMQ 서버에 연결할 수 없습니다. Mac의 모든 방화벽과 연결을 차단할 수 있는 모든 항목을 종료했습니다. 다른 포트에서 실행되는 MongoDB와 다른 응용 프로그램, SSH를 통해 Macbook 등에 완벽하게 연결할 수 있지만 RabbitMQ에는 연결할 수 없습니다(실행 중인 포트를 변경하더라도). nmap내 Mac에 적절한 포트가 열려 있는지 확인하기 위해 Linux를 실행하면 다음과 같은 결과가 나타납니다.

>> nmap -p 5672 192.168.1.101 
Nmap scan report for 192.168.1.101
Host is up (0.00019s latency).
PORT     STATE  SERVICE
5672/tcp closed amqp

하지만 Mac에서 동일한 작업을 수행하면 다음과 같습니다.

>> nmap -p 5672 localhost
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00049s latency).
PORT     STATE SERVICE
5672/tcp open  amqp

혹시라도 들어오는 모든 연결을 허용하도록 규칙을 ipfw수동으로 추가하고 애플리케이션 목록 rabbitmq-server에 추가했지만 도움이 되지 않았습니다. system preferences -> security -> firewall -> advanced로컬 네트워크의 다른 컴퓨터에서 네트워크 액세스를 위해 포트를 강제로 열 수 있는 방법을 알고 계십니까? 다른 방법으로 수행하면(Linux에 Rabbitmq를 설치하고 Mac에서 연결) 잘 실행됩니다.

답변1

Brew를 통해 Mac OS X에 RabbitMQ를 설치할 때 포트 5672가 localhost에서만 열려 있는 동일한 문제가 발생했습니다.

파일에는 localhost에만 바인딩하기 /usr/local/etc/rabbitmq/rabbitmq-env.conf위한 항목이 포함되어 있는 것으로 나타났습니다. 구성에서 항목 NODE_IP_ADDRESS을 제거하면 포트가 다음 항목에 바인딩됩니다.NODE_IP_ADDRESS모든 네트워크 인터페이스.

답변2

데몬이 0.0.0.0 대신 127.0.0.1을 바인딩하는 것 같습니다. netstat 도구를 사용하여 확인할 수 있습니다.

답변3

나에게 도움이 된 것은 두 가지 이전 답변의 조합이었습니다.

다음과 같이 모양을 만드세요 /usr/local/etc/rabbitmq/rabbitmq-env.conf.

#rabbitmq-env.conf
CONFIG_FILE=/usr/local/etc/rabbitmq/rabbitmq
NODE_IP_ADDRESS=0.0.0.0
NODENAME=rabbit@localhost

항목을 완전히 제거하면 NODE_IP_ADDRESSRabbitmq에서 오류가 발생합니다.

답변4

RabbitMQ에 연결하는 데 어떤 계정을 사용하고 있습니까? 게스트 계정을 사용하는 경우. 도움이 될 수 있습니다.

https://www.rabbitmq.com/access-control.html

관련 정보