PHP 负载均衡器的 Nginx DNS 解析

PHP 负载均衡器的 Nginx DNS 解析

我们的 AWS 配置有一个 nginx 服务器,它将所有 PHP 请求指向一个包含多个 PHP 服务器的 ELB。当 ELB 本身扩展时,我们会在接下来的几个小时内失去连接,因为那些旧 IP 会被回收。重新启动 nginx 服务器会重新缓存 ELB 的 IP,然后一切都会恢复正常。非常标准的做法。

我到处找到的解决方案是,我需要包含一个,resolver以允许在服务器启动并运行时重新解析。我遇到的问题有两个方面:

  1. 我当前的配置不起作用。
  2. 我不知道如何正确地测试它,而不等到它失败。

这是我当前的配置:

http {
    resolver 10.0.0.2 valid=10s;
    ...

    server {
        ...

        location ~ \.php$ {
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            set $route "php:9000";
            fastcgi_pass $route;
        }
    }
}

我发现一篇文章提到使用 tcpdump 来检查 DNS 请求,但我什么也没看到,而且绝对不是按照文章写的每 10 秒一次。这可能与使用 fastcgi_pass 而不是 proxy_pass 有关吗?我是否遗漏了其他内容?

相关内容