เปิดพอร์ต 5672 / tcp เพื่อเข้าถึง RabbitMQ บน Mac


12

ฉันมี RabbitMQ ในเวอร์ชั่นล่าสุดติดตั้งบน Mac ด้วยการกำหนดค่าเริ่มต้นและเมื่อฉันเข้าถึงจาก localhost ไม่มีปัญหาอะไรเลย แต่วันนี้ฉันสร้างเครื่อง linux บนเครือข่ายท้องถิ่นและไม่มีทางที่ฉันจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ RabbitMQ ของฉันจากระยะไกลได้จากเครื่องนั้น ฉันปิดไฟร์วอลล์ทั้งหมดบน Mac และทุกอย่างที่อาจบล็อกการเชื่อมต่อได้ ฉันสามารถเชื่อมต่อกับ MongoDB ที่ทำงานบนพอร์ตที่แตกต่างกันและไปยังแอปพลิเคชันอื่น ๆ ได้อย่างสมบูรณ์ ssh ไปยัง macbook ของฉันเป็นต้น แต่ฉันไม่สามารถเชื่อมต่อกับ RabbitMQ ได้ (แม้ว่าฉันจะเปลี่ยนพอร์ตที่ทำงานอยู่ก็ตาม) เมื่อฉันรันnmapบน linux เพื่อตรวจสอบว่าพอร์ตที่เหมาะสมเปิดอยู่บน Mac ของฉันฉันได้รับสิ่งนี้:

>> 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รายการแอปพลิเคชันเพื่ออนุญาตการเชื่อมต่อขาเข้าทั้งหมดในกรณี แต่มันก็ไม่ได้ช่วย มีแนวคิดใดที่จะบังคับให้พอร์ตเปิดให้เข้าถึงเครือข่ายจากคอมพิวเตอร์เครื่องอื่นในเครือข่ายท้องถิ่น เมื่อฉันทำวิธีอื่น ๆ (ติดตั้ง rabbitmq บน linux และเชื่อมต่อจาก mac) มันทำงานได้ดี ..

คำตอบ:


18

เมื่อฉันติดตั้ง RabbitMQ บน Mac OS X ผ่านทาง brew ฉันมีปัญหาเดียวกันกับพอร์ต 5672 ที่เปิดอยู่บน localhost เท่านั้น

มันกลับกลายเป็นว่าไฟล์/usr/local/etc/rabbitmq/rabbitmq-env.confมีรายการสำหรับNODE_IP_ADDRESSการผูกมันกับ localhost เท่านั้น การถอดNODE_IP_ADDRESSรายการออกจากการตั้งค่าผูกพอร์ตไปยังทุกเครือข่าย inferfaces


5

ดูเหมือนว่า daemon จะมีผลผูกพัน 127.0.0.1 แทน 0.0.0.0 คุณสามารถตรวจสอบได้โดยใช้เครื่องมือ netstat


3

สิ่งที่ได้ผลสำหรับฉันคือการรวมกันของคำตอบก่อนหน้านี้ทั้งสอง

ทำให้ /usr/local/etc/rabbitmq/rabbitmq-env.conf ของคุณเป็นแบบนี้:

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

NODE_IP_ADDRESS = 0.0.0.0

NodeName = กระต่าย @ localhost

(ถ้าฉันลบรายการ NODE_IP_ADDRESS Rabbitmq อย่างสมบูรณ์ทำให้ฉันมีข้อผิดพลาด)


0

คุณใช้บัญชีใดในการเชื่อมต่อกับ RabbitMQ หากคุณใช้บัญชีของแขก สิ่งนี้อาจช่วยได้

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


1
วัตถุประสงค์ของ SU คือการสร้างฐานความรู้แทนที่จะรวบรวมลิงก์เพื่อหาคำตอบจากที่อื่น ลิงก์ภายนอกอาจเสียหายได้ซึ่งในกรณีนี้คำตอบของคุณจะไม่มีค่า โปรดรวมข้อมูลที่จำเป็นในคำตอบของคุณและใช้ลิงก์สำหรับการระบุแหล่งที่มาและการอ่านเพิ่มเติม ..
fixer1234
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.