yaoweibin / nginx_upstream_check_module

Health checks upstreams for nginx
http://github.com/yaoweibin/nginx_upstream_check_module
2.04k stars 483 forks source link

后端健康检查连接不释放 #267

Open huangyonghome opened 1 year ago

huangyonghome commented 1 year ago

Nginx会一直维持后端服务器的8个ESTABLISHED长连接,并且永不释放

tcp    ESTAB      0      0      172.16.103.138:63775              172.16.102.241:9001
tcp    ESTAB      0      0      172.16.103.138:26924              172.16.102.241:9001
tcp    ESTAB      0      0      172.16.103.138:10390              172.16.102.241:9001
tcp    ESTAB      0      0      172.16.103.138:16368              172.16.102.241:9001
tcp    ESTAB      0      0      172.16.103.138:32328              172.16.102.241:9001
tcp    ESTAB      0      0      172.16.103.138:37996              172.16.102.241:9001
tcp    ESTAB      0      0      172.16.103.138:5014               172.16.102.241:9001
tcp    ESTAB      0      0      172.16.103.138:21452              172.16.102.241:9001

upstream配置

upstream  sqlreview2-server {
#我这里把检查间隔改成了30秒
check interval=30000 rise=1 fall=3 timeout=3000 type=tcp;
   server 172.16.102.241:9001;

nginx locaiton配置文件

location /sqlreview
   {
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        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_pass http://sqlreview2-server;
   }

Nginx版本: nginx/1.20.1

yswang0927 commented 2 months ago

你参见这个:https://github.com/yaoweibin/nginx_upstream_check_module/pull/257/files