浏览 5.1k
nginx的版本为:nginx version: openresty/1.15.8.3
nginx的后端转发配置如下:
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Original-Host $host;
proxy_set_header Host "xxx.xxxl";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Req-Msec $msec;
proxy_set_header X-SSP-NAME "xxx.xxxk";
proxy_set_header X-FROM-LOCATION "xx";但是通过抓包发现nginx向后端转发的时候,每次请求还是需要新建TCP,没有保持长连接,如下图:

感谢指教~

按点赞数排序
按时间排序
使用keepalive建立长连接池:
upstream http_backend {
server 127.0.0.1:8080;
keepalive 16;
}
server {
...
location /http/ {
proxy_pass http://http_backend;
proxy_http_version 1.1;
proxy_set_header Connection "";
...
}
}1
回答于2021-06-21 16:18
首先感谢陶老师~
其实在upstream的连接池中,已经配置了。我也看了相关资料,这个参数(keepalive xx)配置不当会出现连接来回新建和关闭的震荡问题。不过我来回调整了这个参数,并持续观察了一段时间,抓包还是有很多SYN 报文,长连接配置没有生效。
0
回答于2021-06-22 10:12
抓包对比下,包括:
1、不使用Nginx时,抓包看下Websocket的握手,包括在浏览器和Nginx上游服务上;
2、使用Nginx时,抓包看下Nginx上游服务。
从你的错误请求来看,貌似url的匹配出问题了,正常应该是返回101,但你返回 了404
微信公众号
加入微信群