哪些原因会导致奇怪的 NGINX 行为,而重新加载可以解决该问题?

哪些原因会导致奇怪的 NGINX 行为,而重新加载可以解决该问题?

正如标题所示,我们的网络服务器上出现了一个奇怪的问题。

我们在每个 Web 盒上都有许多配置(虚拟主机),除一个配置外,其他所有配置都运行正常。

经过一段时间(几天或几周)后,该主机开始超时并返回 502 响应。

nginx -s reload配置测试返回正常,但唯一的解决方法是在它再次开始正确响应时运行。

细节

nginx 1.10.0

Ubuntu 12.04

nginx 总共服务 8 个主机/配置。

下面讨论的配置可能会引起一些问题。

limit_req_zone  $binary_remote_addr  zone=analytics:100m   rate=10r/s;
proxy_cache_path /var/www/analytics-cache levels=1:2 keys_zone=analytics:10m max_size=10g inactive=1d;
proxy_temp_path /var/www/analytics-cache/tmp; 

server {
    listen  80;
    server_name analytics.domain.com;

    location /no-cache {
        proxy_pass https://remote.server.com/path/to/endpoint;
        limit_req   zone=analytics burst=10;
     }

     location / {
         proxy_pass http://analytics.domain.com/no-cache;
         expires                1h;
         proxy_cache            analytics;
         proxy_cache_key        $http_host$request_uri;
         proxy_cache_valid      200 1h;

         proxy_cache_methods    GET;
         proxy_cache_use_stale  error timeout invalid_header updating
                              http_500 http_502 http_503 http_504;
         proxy_ignore_headers   "X-Accel-Expires";
         proxy_ignore_headers   "Expires";
         proxy_ignore_headers   "Cache-Control";
         add_header X-Cache-Status $upstream_cache_status;
    }
}

相关内容