慢速连接时 Nginx 连接重置

慢速连接时 Nginx 连接重置

当客户端连接速度较慢时,Nginx 的连接会重置。这只是一个静态 http 网站...没有后端。有什么办法可以阻止连接速度较慢时的连接重置吗?我尝试调整这些timeout值,但没有成功。

在日志中,我看到此错误:

2015/09/21 17:11:57 [info] 8704#0: *44 client prematurely closed connection while sending response to client

events {
    worker_connections 128;
    use epoll;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main
        '$remote_addr - $remote_user [$time_local] '
        '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$gzip_ratio"';

    client_header_timeout 12s;
    client_body_timeout 12s;
    send_timeout 10s;
    keepalive_timeout 15s;

#   open_file_cache max=1s inactive=1s;
#open_file_cache max=500 inactive=600s;
#   open_file_cache_valid 300s;
    open_file_cache_errors on;

    expires 24h;
    client_max_body_size 20m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 4 2k;
    request_pool_size 4k;

    gzip on;
    gzip_min_length 1100;
    gzip_buffers 4 8k;
    gzip_types text/plain;

    output_buffers 1 32k;
    postpone_output 1460;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;


    ignore_invalid_headers on;
    server_tokens off;

    index index.html index.php;

答案1

客户正在关闭连接,而不是您的服务器。这与任何服务器超时设置无关。

防止这种情况的唯一方法是让您的服务器更快,这样客户端就不太可能放弃等待服务器响应。请注意,这些错误中有一小部分是完全正常的(info毕竟,它会在 nginx 日志中被标记),因为用户通常都是一群相当没有耐心的人。

相关内容