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

nginx не закрывает сокет

ngnix не закрывает сокет после завершения соединения. Я погуглил и не могу ничего придумать, чтобы сообщить nginx о закрытии этого соединения, кроме того, что у меня ниже: keepalive_timeout 0.

И в заголовках запроса, и в ответе я вижу Connection: close, но сокет по-прежнему находится в TIME_WAIT состояние около минуты.

tcp        0      0 127.0.0.1:80            127.0.0.1:40345         TIME_WAIT   -

Вот заголовки:

Request Headers:
Connection: close
Content-Type: application/x-www-form-urlencoded

Response headers:
HTTP/1.1 200 OK
Server: nginx/0.7.67
Date: Thu, 21 Apr 2011 15:34:31 GMT
Content-Type: text/xml; charset=utf-8
Transfer-Encoding: chunked
Connection: close

Часть моей конфигурации nginx:

Файл конфигурации nginx:

{
...
        keepalive_timeout 0;
        client_max_body_size 1M;
        fastcgi_read_timeout 60;
        fastcgi_send_timeout 60;

    location ~ \.php$ {
        fastcgi_pass   unix:/tmp/php-fastcgi.sock;
        #fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_intercept_errors on; # to support 404s for PHP files not found
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
        fastcgi_param SERVER_NAME $host;
    }
}

Ожидание в состоянии TIME_WAIT в течение нескольких минут является намеренным, пожалуйста, проверьте следующие ссылки для полного описания:

http://developerweb.net/viewtopic.php?id=2941 http://www.ssfnet.org/Exchange/tcp/tcpTutorialNotes.html