使用dockerized nginx时遇到了一个奇怪的问题。 如果我使用JMeter通过nginx的反向代理请求后端服务,将在数百次后收到挂起请求。 在挂起请求的过程中,我曾尝试与邮递员联系,有时是可重播的,但是如果直接请求后端服务,那总是可以的。
我尝试在相同配置下不使用docker,没有挂起的请求。
有人知道如何解决吗?
答案 0 :(得分:0)
我想我知道为什么会因为反向代理和后端服务之间的连接数超出。
参考keepalive,我修改了Nginx配置,以使用keepalive指令为连接激活缓存,这解决了此问题。
http {
...
upstream http_backend {
server 192.168.2.100:8081;
keepalive 32;
}
...
server {
...
location /api/ {
proxy_pass http://http_backend/;
proxy_http_version 1.1;
proxy_set_header Connection "";
...
}
}
}