MacでRabbitMQにアクセスするためにポート5672 / tcpを開く


12

私はMacにインストールされた最新バージョンのRabbitMQをデフォルトの設定でインストールしており、localhostからアクセスしているときは何の問題もありません。しかし、今日、私はローカルネットワーク上にLinuxマシンを構築しており、そのマシンからRabbitMQサーバーにリモートで接続することはできません。Macのすべてのファイアウォールと、接続をブロックする可能性のあるすべてのものをシャットダウンしました。別のポートで実行されているMongoDBや他のアプリケーションに完全に接続したり、macbookにsshで接続したりできますが、RabbitMQに接続できません(実行中のポートを変更しても)。nmapLinuxで実行して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-serversystem preferences -> security -> firewall -> advanced、万一に備えてすべての着信接続を許可するようにアプリケーションリストに追加しましたが、役に立ちませんでした。ローカルネットワーク内の別のコンピューターからのネットワークアクセスのためにポートを強制的に開く方法はありますか?私がそれを逆にすると(Linuxにrabbitmqをインストールして、Macからそれに接続します)、うまく動作します。

回答:


18

Mac OS Xにbrew経由でRabbitMQをインストールしたとき、同じ問題が発生しましたが、localhostでポート5672のみが開いています。

ファイル/usr/local/etc/rabbitmq/rabbitmq-env.confにはNODE_IP_ADDRESSlocalhostにのみバインドするためのエントリが含まれていることがわかりました。構成NODE_IP_ADDRESSからエントリを削除すると、ポートがすべてのネットワークインターフェイスにバインドされます。


5

デーモンが0.0.0.0ではなく127.0.0.1をバインドしているようです。netstatツールを使用して確認できます


3

私にとってうまくいったのは、以前の両方の答えの組み合わせでした。

/usr/local/etc/rabbitmq/rabbitmq-env.confを次のようにします。

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

NODE_IP_ADDRESS = 0.0.0.0

NODENAME = rabbit @ 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.