数千次请求后,Dockerized Nginx挂起

时间:2019-01-02 10:46:48

标签: docker nginx reverse-proxy hang

使用dockerized nginx时遇到了一个奇怪的问题。 如果我使用JMeter通过nginx的反向代理请求后端服务,将在数百次后收到挂起请求。 在挂起请求的过程中,我曾尝试与邮递员联系,有时是可重播的,但是如果直接请求后端服务,那总是可以的。

我尝试在相同配置下不使用docker,没有挂起的请求。

有人知道如何解决吗?

1 个答案:

答案 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 "";
            ...
        }
    }
}