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

nginx не закрывает петлевые соединения

Я использую nginx в режиме обратного прокси. Вот соответствующая часть конфигурационного файла:

server {
    listen       80;
    server_name  ~^web.redhelper\.ru$ ;
    access_log   off;
    location /http-bind {
         proxy_pass              http://localhost:7070;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        Host $http_host;
    }

}

Через некоторое время я начал выдавать ошибку 500. Я думаю, что достиг некоторого максимального лимита открытых подключений. Вот график Мунина:

Когда я использую netstat, я вижу, что есть:

1279 open connections to port 80; (including website itself that is on the same port)
of them 745 are in ESTABLISHED state and 479 in TIME_WAIT
277 ESTABLISHED connections from 127.0.0.1:[misc port] to 127.0.0.1:7070
3922 connections from 127.0.0.1:7070 to 127.0.0.1:[misc port]
of them 246 are in ESTABLISHED state and 3646 in TIME_WAIT 

Я думаю, что это 3646 соединений TIME_WAIT, вызывающих это. Как я могу запретить nginx удерживать такое количество открытых соединений?

Вот еще несколько графиков мунинов, может быть, они помогут лучше разобраться в моей проблеме: http://munin.redhelper.ru/localdomain/localhost.localdomain/index.html