Mở cổng 5672 / tcp để truy cập RabbitMQ trên Mac


12

Tôi có RabbitMQ trong phiên bản mới nhất được cài đặt trên máy Mac với cấu hình mặc định và khi tôi truy cập nó từ localhost thì không có vấn đề gì. Nhưng hôm nay tôi xây dựng một máy linux trên mạng cục bộ và không có cách nào tôi có thể kết nối với máy chủ RabbitMQ của mình từ xa máy đó. Tôi tắt tất cả các tường lửa trên máy Mac và mọi thứ có thể chặn kết nối. Tôi hoàn toàn có thể kết nối với MongoDB đang chạy trên các cổng khác nhau và với bất kỳ ứng dụng nào khác, ssh với macbook của tôi, v.v., nhưng tôi không thể kết nối với RabbitMQ (ngay cả khi tôi thay đổi cổng đang chạy). Khi tôi chạy nmaptrên linux để kiểm tra xem cổng thích hợp có mở trên máy Mac của tôi không, tôi nhận được điều này:

>> 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

Nhưng khi tôi làm điều tương tự ngay trên máy Mac của mình:

>> 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

Tôi thêm quy tắc để ipfwtay và thêm rabbitmq-servervào system preferences -> security -> firewall -> advanceddanh sách các ứng dụng cho phép tất cả các kết nối đến chỉ trong trường hợp, nhưng nó đã không giúp đỡ. Bất kỳ ý tưởng làm thế nào để buộc cổng được mở để truy cập mạng từ một máy tính khác trong mạng cục bộ? Khi tôi làm theo cách khác (cài đặt rabbitmq trên linux và kết nối với nó từ mac) thì nó chạy tốt ..

Câu trả lời:


18

Khi tôi cài đặt RabbitMQ trên Mac OS X, thông qua brew, tôi gặp vấn đề tương tự với cổng 5672 chỉ được mở trên localhost.

Hóa ra tập tin /usr/local/etc/rabbitmq/rabbitmq-env.confchứa một mục để NODE_IP_ADDRESSchỉ liên kết nó với localhost. Loại bỏ các NODE_IP_ADDRESSmục từ cấu hình liên kết cổng với tất cả các giao diện mạng .


5

Có vẻ như daemon đang ràng buộc 127.0.0.1 thay vì 0.0.0.0, bạn có thể kiểm tra nó bằng công cụ netstat


3

Điều làm việc cho tôi là sự kết hợp của cả hai câu trả lời trước.

Làm cho /usr/local/etc/rabbitmq/rabbitmq-env.conf của bạn trông như thế này:

CONFIG_FILE = / usr / local / etc / rabbitmq / rabbitmq

NODE_IP_ADDRESS = 0.0.0.0

NODENAME = rabbit @ localhost

(Nếu tôi loại bỏ hoàn toàn mục nhập NODE_IP_ADDRESS rabbitmq sẽ gây ra lỗi cho tôi)


0

bạn đang sử dụng tài khoản nào để kết nối với RabbitMQ. Nếu bạn đang sử dụng tài khoản khách. Điều này có thể giúp

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


1
Mục đích của SU là xây dựng một kiến ​​thức chứ không phải là một tập hợp các liên kết đến câu trả lời ở nơi khác. Liên kết bên ngoài có thể bị phá vỡ, trong trường hợp câu trả lời của bạn sẽ không có giá trị. Vui lòng bao gồm các thông tin cần thiết trong câu trả lời của bạn và sử dụng liên kết để ghi nhận và đọc thêm ..
fixer1234
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.