[rabbitmq-discuss] socket error while using rabbitmq and a NAT (Network address translation)

Emile Joubert emile at rabbitmq.com
Tue Mar 1 13:41:43 GMT 2011


Hi,

On 01/03/11 12:55, mysurf mail wrote:
> Hi Emile,
> I have a few questions:
> 1. On the rabbitmq server we have a few Erlang versions. Should that
> create a problem .

Keep in mind that different features of RabbitMQ have different minimum 
requirements (e.g. SSL and some plugins). This is especially important 
in a multi-version environment. It is best to use the latest version 
across the board if possible (unless it is an alpha version containing 
an A).

> (For now, I finished removing the older ones, so currently we have only
> 5.8.2 and the problem still exists
> 2. I have added the logs file from the rabbitmq server. I am the ip that
> ends with 170.120 and my last trial had an exception.

It is unusual to have the broker listen on port 1434. From the log there 
are at least 3 kinds of problems:

1 Protocol errors:
   Acknowledging with an unknown delivery tag
   Redeclaring exchanges with different parameters
   These will lead to a channel or connection closure.

2 1-Mar-2011::14:15:02
   Handshake timeout
   This will close the connection

3 1-Mar-2011::14:18:46
   Abrupt connection termination

The first can be solved by making sure that you don't acknowledge 
messages more than once, and that you declare exchanges with identical 
parameters. The second and third may have a related root cause, which 
the tracer or network diagnostic tools should help to identify.

> 3. Now about that tracer. I have been having some hard time finding
> documentation for it.
> Should I run it from the client (it comes with the client packacge) or
> in the server? I am running it in the client.
> my rabbit node port is 1434.  so I am running it with
> .\runjava.bat co m.rabbitmq.tools.Tracer 1434 192.168.100.251 5672
> are my parameters ok ?

See http://www.rabbitmq.com/examples.html#tracer .
Judging by your logfile you want to use 1434 as the connectPort argument 
instead of 5672.

> I used rabbit node port as listenport and 5672 as connect port. I also
> switched them but no luck . I didnt see anything on the cmd when I
> invoked my produce command.
> here it is

You should configure AMQP clients to connect to the tracer instead of to 
the broker directly. The port should be the one given as the first 
argument (listenPort) and the host should be the IP number of the 
machine running the tracer.




-Emile


More information about the rabbitmq-discuss mailing list