【问题标题】:nginx keepalive and dns resolvernginx keepalive 和 dns 解析器
【发布时间】:2017-01-18 04:55:23
【问题描述】:

我在 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 Plus 本地完成。我想知道为什么需要上游保持活动,给定的上游服务器是否位于 Nginx 的其他地方并且两者之间的延迟很高?

标签: nginx dns


【解决方案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;
        }
    }
}

【讨论】:

    猜你喜欢
    • 2018-09-13
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多