4

我想知道是否有办法配置 RabbitMQ 以关闭丢失的连接而不管心跳。

我的问题是,如果在心跳设置为 0 的情况下打开连接并且连接丢失(例如禁用网络接口),服务器会永远保持连接打开,我知道 TCP 超时为 11 分钟,但连接甚至没有关闭几个小时以后。

我确实向服务器添加了 keepalive 配置,但结果相同(我正在使用 SSL)。

有没有办法配置服务器以关闭此连接而不管心跳配置如何?

或者也许我可以拒绝低心跳配置的连接?

环境细节:

操作系统 ubuntu 服务器 14.04

RabbitMQ 服务器版本 3.5.4

配置:

{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}]},
4

0 回答 0