我在AWS中有一个nginx实例,该实例具有上游应用程序层。

nginx有两个要求
- 活着
-使用解析器动态解析上游

我能够使它们中的任何一个起作用。

这是使keepalive工作的配置:

upstream "backend" {
    server "appserver.example.com:443";
    keepalive 250;
}

server {
    resolver 10.0.0.2 valid=60s;
    server_name _;
    location / {
                proxy_http_version 1.1;
                proxy_pass https://backend;
    }
}

这是DNS解析器正常工作的配置:
 server {
    resolver 10.0.0.2 valid=60s;
    server_name _;
    set $backend appserver.example.com:443;
    location / {
                proxy_http_version 1.1;
                proxy_pass https://$backend;
    }
}

如何在开放源代码NGinx中不使用第三方插件的情况下使DNS解析器和keepalive正常工作

最佳答案

根据这个Nginx wiki page
似乎有jdomain Plugin

http {
    resolver 8.8.8.8;
    resolver_timeout 10s;

    upstream backend {
        jdomain  www.baidu.com;
        # keepalive 10;
    }
    server {
        listen       8080;

        location / {
            proxy_pass http://backend;
        }
    }
}

10-04 13:07