Buka port 5672 / tcp untuk akses ke RabbitMQ di Mac

12

Saya memiliki RabbitMQ dalam versi terbarunya yang diinstal pada Mac saya dengan konfigurasi default dan ketika saya mengaksesnya dari localhost tidak ada masalah apa pun. Tapi hari ini saya membangun mesin linux di jaringan lokal dan tidak mungkin saya bisa terhubung ke server RabbitMQ saya dari jarak jauh dari mesin itu. Saya mematikan semua firewall di Mac saya dan semua yang mungkin bisa memblokir koneksi. Saya sangat bisa terhubung ke MongoDB yang berjalan di port yang berbeda dan ke aplikasi lain, ssh ke macbook saya dan sebagainya, tapi saya tidak bisa terhubung ke RabbitMQ (bahkan ketika saya mengubah port yang sedang berjalan). Ketika saya menjalankan nmapdi linux untuk memeriksa apakah port yang sesuai terbuka di Mac saya, saya mendapatkan ini:

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

Tetapi ketika saya melakukan hal yang sama di Mac saya:

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

Saya menambahkan aturan ipfwsecara manual dan ditambahkan rabbitmq-serverke system preferences -> security -> firewall -> advanceddaftar aplikasi untuk memungkinkan semua koneksi masuk untuk berjaga-jaga, tetapi tidak membantu. Adakah yang tahu bagaimana memaksa port agar terbuka untuk akses jaringan dari komputer lain di jaringan lokal? Ketika saya melakukannya sebaliknya (instal rabbitmq di linux dan hubungkan dari mac) itu berjalan dengan baik ..

Kreeki
sumber

Jawaban:

18

Ketika saya menginstal RabbitMQ pada Mac OS X, melalui minuman, saya memiliki masalah yang sama dengan port 5672 yang hanya terbuka di localhost.

Ternyata file tersebut /usr/local/etc/rabbitmq/rabbitmq-env.confberisi entri untuk NODE_IP_ADDRESSmengikatnya hanya ke localhost. Menghapus NODE_IP_ADDRESSentri dari konfigurasi mengikat port ke semua inferfaces jaringan .

dorzey
sumber
5

Tampaknya daemon mengikat 127.0.0.1 dan bukannya 0.0.0.0, Anda dapat memeriksanya menggunakan alat netstat

Jose
sumber
3

Apa yang berhasil bagi saya adalah kombinasi dari kedua jawaban sebelumnya.

Jadikan /usr/local/etc/rabbitmq/rabbitmq-env.conf Anda seperti ini:

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

NODE_IP_ADDRESS = 0.0.0.0

NODENAME = rabbit @ localhost

(Jika saya menghapus entri NODE_IP_ADDRESS sepenuhnya rabbitmq memberi saya kesalahan)

Rob Carpenter
sumber
0

akun apa yang Anda gunakan untuk terhubung ke RabbitMQ. Jika Anda menggunakan akun tamu. Ini mungkin bisa membantu

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

Shuliyey
sumber
1
Tujuan SU adalah untuk membangun basis pengetahuan daripada kumpulan tautan ke jawaban di tempat lain. Tautan eksternal dapat terputus, dalam hal ini jawaban Anda tidak memiliki nilai. Harap sertakan informasi penting dalam jawaban Anda dan gunakan tautan untuk atribusi dan bacaan lebih lanjut ..
fixer1234