Why Does a Client Fail to Connect to a RabbitMQ Instance?
This problem occurs when the connection address, port number, username, password, or virtual host name is incorrect, or when there is no virtual host or the maximum allowed number of connections is exceeded.
Possible Cause 1: Incorrect Connection Address
Error message displayed when an incorrect connection address is used during intra-VPC access:
[root@ecs-test RabbitMQ-Tutorial]# java -cp .:rabbitmq-tutorial.jar Send 192.168.125.110 5672 user ******* Exception in thread "main" java.net.NoRouteToHostException: No route to host (Host unreachable) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
Error message displayed when an incorrect connection address is used during public access:
[root@ecs-test RabbitMQ-Tutorial]# java -cp .:rabbitmq-tutorial.jar Send 139.xxx.178 5672 user ******* Exception in thread "main" java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
Solution: On the Basic Information page of the RabbitMQ console, obtain the private or public network connection address and modify the connection address in the code.
Possible Cause 2: Incorrect Port
Error message displayed when an incorrect port is used during intra-VPC access:
[root@ecs-test RabbitMQ-Tutorial]# java -cp .:rabbitmq-tutorial.jar Send 192.168.125.111 5673 user ******* Exception in thread "main" java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
Error message displayed when an incorrect port is used during public access:
[root@ecs-test RabbitMQ-Tutorial]# java -cp .:rabbitmq-tutorial.jar Send 139.xxx.179 5673 user ******* Exception in thread "main" java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
Solution: Change the port number.
Possible Cause 3: Incorrect Username or Password
The error information is as follows:
[root@ecs-test RabbitMQ-Tutorial]# java -cp .:rabbitmq-tutorial.jar Send 192.168.125.111 5672 user ******* Exception in thread "main" com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile. at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:351) at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:64)
Solution: Change the username or password. If you forget your password, reset it.
Possible Cause 4: Maximum Number of Connections Exceeded
The error information is as follows:
Solution: Close unused connections.
Possible Cause 5: No Virtual Host Available or Incorrect Virtual Host Name
The error information is as follows:
Couldn't log in: server connection error 530, message: NOT_ALLOWED - vhost /localdev/ not found
Solutions:
- If no virtual host is available, go to the Virtual Hosts page of the RabbitMQ console and create one.
- If the virtual host name is incorrect, modify the connection URL and configuration file according to the virtual host name displayed on the Virtual Hosts page of the RabbitMQ console.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.