Nginx反向代理 Backend长连接

如何配置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都可以保持长连接。
阅读 6.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题