NGINX正向代理出现大量TIME_WAIT问题

正向代理配置:

  http {
    server {
        listen 8080;
       # dns resolver used by forward proxying
       resolver 8.8.8.8;
       location / {
           proxy_http_version 1.1;
           proxy_set_header Connection "";
           proxy_set_header Host $host;
           proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
           proxy_pass $scheme://$host;
       }
    }
}  

在处理高并发请求代理时,NGINX后端会出现大量TIME_WAIT连接。

分析下来,NGINX每次代理转发请求时,都会根据应用发过来的请求来与后端服务建链,尽管设置http长连接属性,但每处理完一笔交易就会断开后端连接,长此以往就会出现大量TIME_WAIT连接。

如果并发压力比较大时,就瞬间出现大量TIME_WAIT连接,进而导致NGINX侧系统资源不足(随机端口不足)。


在这种模式下,如何解决TIME_WAIT问题?是否有类似方向代理upstream中配置连接池的方式来避免频繁断链?


邀请回答
提问于 2022-07-18 14:36
64 次浏览
共0个回答

发表评论
提问者

李怼怼

暂无个人介绍

  • 0

    文章

  • 0

    粉丝

  • 0

    被赞

李怼怼
按Enter键发送
您已邀请位用户
Copyright 公安部网络安全保卫局 All Rights Reserved
京公网安备 11010502047880号    京ICP备05070602号