RabbitMQ close lost connections

683 Views Asked by At

I would like to know if there is a way to configure RabbitMQ to close lost connections regardless the heartbeat.

My issue is that if a connection was opened with heartbeat set to 0 and the connection is lost (like disabling the network interface) the server keep the connection open forever, I understand that the TCP timeout is 11 minutes but the connection is not closing even hours later.

I did added keepalive configuration to the server but with the same result (I'm working with SSL).

Is there a way to configure the server to close this connections regardless to the heartbeat configuration?

Or maybe I can reject connection with low heartbeat configuration?

Environment Details:

OS ubuntu server 14.04

RabbitMQ server version 3.5.4

Configuration:

{tcp_listen_options, [binary,
                     {packet,        raw},
                     {reuseaddr,     true},
                     {backlog,       128},
                     {nodelay,       true},
                     {exit_on_close, true},
                     {keepalive,     true}]}

{ssl_options, [{cacertfile,           "/etc/rabbitmq/certs/cacert.pem"},
                  {certfile,             "/etc/rabbitmq/certs/cert.pem"},
                  {keyfile,              "/etc/rabbitmq/certs/key.pem"},
                  {verify,               verify_peer},
                  {keepalive,            true},
                  {fail_if_no_peer_cert, false}]},
0

There are 0 best solutions below