web-dev-qa-db-ja.com

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

私はMacにインストールされた最新バージョンのRabbitMQをデフォルトの設定でインストールしており、localhostからアクセスしているときは何の問題もありません。しかし、今日、私はローカルネットワーク上にLinuxマシンを構築しており、そのマシンからRabbitMQサーバーにリモートで接続することはできません。 Macのすべてのファイアウォールと、接続をブロックする可能性のあるすべてのものをシャットダウンしました。別のポートで実行されているMongoDBや他のアプリケーションに完全に接続したり、macbookにsshで接続したりできますが、RabbitMQに接続できません(実行中のポートを変更しても)。 Linuxでnmapを実行して、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からそれに接続します)、うまく動作します。

12
Kreeki

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

ファイル/usr/local/etc/rabbitmq/rabbitmq-env.confには、localhostにのみバインドするNODE_IP_ADDRESSのエントリが含まれていることがわかりました。 NODE_IP_ADDRESSエントリを構成から削除すると、ポートが all network inferfaces にバインドされます。

18
dorzey

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

5
Jose

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

/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でエラーが発生します)

3
Rob Carpenter

rabbitMQへの接続に使用しているアカウント。ゲストアカウントを使用している場合。これは役立つかもしれません

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

0
Shuliyey