Nginx反向代理长连接问题
我有几台服务器 A,B,C,D,E ...其中A可以访问外网,其他不可以, 我用http_proxy方式, 通过A访问外网. 主要是访问合作方的接口,如http://api.xxx.com/get/user, 每秒大概有几百次.
这几天在看能否让A和合作方服务器(假设为Z)保持长连接, 经过修改测试, Z返回的header里面已经是 http/1.1 connection为keep-alive了, 但是socket的 Time-wait还是非常高, 另外A的日志里面, nginx 的 $connection 参数也总是在递增, 这是为什么呢?
下面是 A上的 proxy-pass 配置:
server{
resolver 10.10.2.118;
listen 1080;
error_log /var/log/nginx/proxy.error.log error;
access_log /var/log/nginx/proxy.access.log proxy_access;
location / {
proxy_pass http://$host$request_uri;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection "keep-alive";
proxy_http_version 1.1;
proxy_ignore_client_abort on;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
allow 10.0.0.0/8;
deny all;
}
}
是我配置的问题吗? 不懂网络, 胡搞瞎搞, 希望大神有知道的指点一下. 谢谢