Nginx保持连接与DNS解析器

11

我在 AWS 上有一个 Nginx 实例,它具有上游应用层。

Nginx 有两个要求:
- 保持长连接
- 使用解析器动态解析上游

我能使其中一个工作。

这是使长连接工作的配置:

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 Plus本地完成。我想知道为什么需要上游保持连接,是给定的上游服务器位于Nginx之外且之间的延迟很高吗? - Anatoly
1个回答

1
根据这个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;
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接