Назад | Перейти на главную страницу

Можно ли настроить Nginx для отправки TCP keepalive?

В TCP-соединениях, поддерживаемых NGinx, можно ли настроить отправку TCP Keepalive

(Не HTTP KeepAlive!)

У вас есть 2 варианта:

  • использовать запас so_keepalive опция nginx
  • использовать nginx-tcp-keepalive директивы модуля

слушай ... so_keepalive = on

listen директива с so_keepalive вариант server уровень. Видеть http://nginx.org/en/docs/http/ngx_http_core_module.html#listen для полной документации. Эта опция доступна с 2012-12-12 в nginx 1.1.11 и новее.

tcp_keepalive = on

В nginx-tcp-keepalive модуль Николя Виеннот обеспечивает семью tcp_keep* директивы, которые location уровень. Этот модуль должен правильно работать в современных системах Linux и BSD. Поддержка Mac OS X ограничена tcp_keepalive только. Изначально модуль был выпущен примерно в тот момент, когда nginx получил so_keepalive вариант. Я не пробовал, если модуль все еще совместим с более новой версией nginx.

На данный момент директиву so_keepalive поддерживает только модуль почтового прокси.

Есть модуль LD_PRELOAD, который включает поддержку активности., даже если у приложения нет возможности сделать это. (Не знаю, работает ли он с nginx или нет.)