RabbitMQ 拒绝连接
RabbitMQ refuses connection
我 运行 在 MacOS 上安装了 RabbitMQ。只需 'rabbitmq-server'.
即可正常启动服务器
使用 Java API 我可以轻松连接到 RabbitMQ,"localhost" 作为主机,如下所示:
val factory = new ConnectionFactory()
factory.setHost( "localhost" )
val connection = factory.newConnection()
但是,当我尝试使用不同的 IP(例如我机器的实际 IP)时,出现连接被拒绝的错误。
Exception in thread "main" java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:615)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:639)
at com.gwz.Junk$delayedInit$body.apply(Junk.scala:8)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main.apply(App.scala:71)
at scala.App$$anonfun$main.apply(App.scala:71)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
at scala.App$class.main(App.scala:71)
at com.gwz.Junk$.main(Junk.scala:5)
at com.gwz.Junk.main(Junk.scala)
我的 ifconfig 显示这样的 inet 地址:
inet 127.0.0.1 netmask 0xff000000
inet 172.16.240.21 netmask 0xffffff00 broadcast 172.16.240.255
inet 192.168.59.3 netmask 0xffffff00 broadcast 192.168.59.255
inet 10.0.0.125 netmask 0xffffff00 broadcast 10.0.0.255
环回 127.0.0.1 有效。然而,其他人则不然。我需要其他 3 个之一才能工作。
我是否需要执行其他操作才能允许通过我的本地 IP 进行连接?
解决方案可能不止一种,但我找到的是这样的:
首先在rabbitmq.conf中打开loopback_users:
[{rabbit, [{loopback_users, []}]}].
然后我将本地计算机的 IP 地址放入 rabbitmq-env.conf(无论它安装在您计算机上的哪个位置):
NODE_IP_ADDRESS=10.0.1.45
这对我来说默认为本地主机,所以这两个更改一起允许使用非本地主机 IP 访问我的来宾帐户。
我 运行 在 MacOS 上安装了 RabbitMQ。只需 'rabbitmq-server'.
即可正常启动服务器使用 Java API 我可以轻松连接到 RabbitMQ,"localhost" 作为主机,如下所示:
val factory = new ConnectionFactory()
factory.setHost( "localhost" )
val connection = factory.newConnection()
但是,当我尝试使用不同的 IP(例如我机器的实际 IP)时,出现连接被拒绝的错误。
Exception in thread "main" java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:615)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:639)
at com.gwz.Junk$delayedInit$body.apply(Junk.scala:8)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main.apply(App.scala:71)
at scala.App$$anonfun$main.apply(App.scala:71)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
at scala.App$class.main(App.scala:71)
at com.gwz.Junk$.main(Junk.scala:5)
at com.gwz.Junk.main(Junk.scala)
我的 ifconfig 显示这样的 inet 地址:
inet 127.0.0.1 netmask 0xff000000
inet 172.16.240.21 netmask 0xffffff00 broadcast 172.16.240.255
inet 192.168.59.3 netmask 0xffffff00 broadcast 192.168.59.255
inet 10.0.0.125 netmask 0xffffff00 broadcast 10.0.0.255
环回 127.0.0.1 有效。然而,其他人则不然。我需要其他 3 个之一才能工作。
我是否需要执行其他操作才能允许通过我的本地 IP 进行连接?
解决方案可能不止一种,但我找到的是这样的:
首先在rabbitmq.conf中打开loopback_users:
[{rabbit, [{loopback_users, []}]}].
然后我将本地计算机的 IP 地址放入 rabbitmq-env.conf(无论它安装在您计算机上的哪个位置):
NODE_IP_ADDRESS=10.0.1.45
这对我来说默认为本地主机,所以这两个更改一起允许使用非本地主机 IP 访问我的来宾帐户。