如何配置NGINX与Backend service之间为长连接,已经连接数等策略?
upstream test{
keepalive 1;
server 192.168.1.63:4000;
}
server {
listen 4000;
server_name localhost;
location / {
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_buffering off;
proxy_pass http://test;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
现有配置如上,无效。在上游服务器显示地在HTTP HEADER里设置Connection:keep-alive给nginx,也无效。
无效:是通过netstat 查看是否连接ESTABLISHED。
补充:抓包发现nginx发给BACKEND服务的HTTP请求头显示指定了Connection: close
已解决:(好像自己不能回答)
增加了两个参数
proxy_http_version 1.1;#默认用了1.0 其他反向代理用了1.1 不知道是如何判断的
proxy_set_header Connection "";#禁止传递Connection 头,设置后向BACKEND的请求中则没有了此头,backend服务不用显示设置Connection 为keepalive都可以保持长连接。