关于RabbitMQ服务器在部分客户端网络无法访问的技术求助
Troubleshooting "None of the specified endpoints were reachable" RabbitMQ Error in Client Network
First, let's recap your setup to stay aligned:
- You've deployed a Windows service using RabbitMQ to communicate with a production server
- Your domain is whitelisted in client networks, and port 5672 is open on the server
- The setup works perfectly in one client network, but throws this error in another:
2018-03-22 13:53:35.0673 5 INFO Starting service.
2018-03-22 13:53:38.3566 4 ERROR None of the specified endpoints were reachable
Since it works in one environment but not the other, the issue is almost certainly network-specific. Here's how to narrow it down:
1. Confirm Basic Port Reachability
- From a machine in the problematic network, run
telnet <your-rabbitmq-domain> 5672. If this times out, port 5672 isn't actually accessible—even if you think it's open, client-side firewalls or intermediate network devices might be blocking it. - If telnet isn't available, use PowerShell:
Test-NetConnection <your-rabbitmq-domain> -Port 5672. Look for the TcpTestSucceeded value; if it'sFalse, that confirms a network block.
2. Check DNS Resolution
- Even with the domain whitelisted, the failing network might resolve it to the wrong IP. Run
nslookup <your-rabbitmq-domain>on a machine in that network and compare the result to the working network's IP. - If the IPs don't match, the client network's DNS might have a stale entry or custom override pointing to the wrong server.
3. Inspect Client-Side Firewalls & Endpoint Tools
- The working network might have looser firewall rules. Verify that your Windows service's executable is allowed through local firewalls on client machines (create explicit inbound/outbound rules for port 5672 or the app itself if needed).
- Some antivirus or endpoint protection tools block external traffic even if ports are open. Temporarily disable it (with proper approval) to test if that's the blocker.
4. Validate Service Endpoint Configuration
- Double-check that the Windows service uses the correct RabbitMQ endpoint URL. Typos (like missing the
amqp://prefix, wrong port, or misspelled domain) can cause this error—less likely since it works elsewhere, but still worth confirming. - Make sure the service isn't hardcoding an IP that's only reachable in the working network instead of using the domain name.
5. Rule Out Proxy Interference
- The failing network might use a proxy that isn't configured to allow traffic to your domain on port 5672. Check if the Windows service inherits system proxy settings (many services don't by default) or if the proxy is blocking the connection.
- If possible, test connecting directly from a machine in the failing network without the proxy to eliminate this variable.
6. Dig Into Server-Side Logs
- Enable verbose connection logging on your production RabbitMQ server. If there's no record of connection attempts from the failing network, the traffic isn't even reaching the server—confirming the issue is in the client network's path.
- Check the server's firewall logs to see if incoming traffic from the failing network is being rejected.
内容的提问来源于stack exchange,提问作者Gopi
相关产品推荐
相关产品推荐

