NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
Livid
278.36D
568.35D
V2EX  ›  NGINX

server resolve

  •  
  •   Livid ·
    PRO
    · Feb 5, 2015 · 4677 views
    This topic created in 4122 days ago, the information mentioned may be changed or developed.

    http://nginx.org/en/docs/http/ngx_http_upstream_module.html

    NGINX 在 1.5.12 里的新功能,如果用域名作为 upstream 里的 server 地址,那么可以加上 resolve 参数让 NGINX 来追踪这个地址的解析变化。

    upstream example_backend {
        server www.example.com:80 resolve;
    }
    
    18 replies    2015-02-05 15:41:03 +08:00
    cevincheung
        1
    cevincheung  
       Feb 5, 2015
    1.0.6在http段有resolve参数

    http {
    resolve 8.8.8.8;
    }
    LazyZhu
        2
    LazyZhu  
       Feb 5, 2015
    需要设置 http 的 resolver
    resolver 8.8.8.8;
    cevincheung
        3
    cevincheung  
       Feb 5, 2015
    update:


    是location段

    resolver 8.8.8.8
    Livid
        4
    Livid  
    MOD
    OP
    PRO
       Feb 5, 2015
    抱歉,刚才实际测试了一下之后发现,这个功能只在 NGINX 商业版里有。

    Additionally, the following parameters are available as part of our commercial subscription.
    aveline
        5
    aveline  
       Feb 5, 2015   ❤️ 2
    Livid
        6
    Livid  
    MOD
    OP
    PRO
       Feb 5, 2015
    @aveline 多谢分享。

    就是我还需要测一下这个 issue:

    https://github.com/GUI/nginx-upstream-dyanmic-servers/issues/1
    laomutuo
        7
    laomutuo  
       Feb 5, 2015
    @Livid 商业版价格多少?
    shixinyu
        8
    shixinyu  
       Feb 5, 2015
    fannheyward
        9
    fannheyward  
       Feb 5, 2015
    如果 upstream 只有一个地址,可以通过变量方式强制解析

    resolver 8.8.8.8;
    set $backend "foo.example.com";
    proxy_pass http://$backend;

    via http://forum.nginx.org/read.php?2,215830,215832#msg-215832
    wwek
        10
    wwek  
       Feb 5, 2015
    这个功能好. 不用我老是去重启了```
    wwek
        11
    wwek  
       Feb 5, 2015
    @Livid 啊,奥商业版``
    不知道淘宝的支持否`
    wwek
        12
    wwek  
       Feb 5, 2015
    qq286735628
        13
    qq286735628  
       Feb 5, 2015
    'NGINX 来追踪这个地址的解析变化'是做什么用的?缓存DNS解析这步?那直接upstream一个IP呢?
    wwek
        14
    wwek  
       Feb 5, 2015
    server
    {
    listen 80;
    server_name xxxx.3322.org;

    resolver 8.8.8.8;
    set $backend " xxxx.3322.org";

    location / {
    proxy_pass http://$backend:2222;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    }
    }
    wwek
        15
    wwek  
       Feb 5, 2015   ❤️ 1
    @qq286735628 upstream 指定的域名解析有变动.nginx默认是不会去追踪的.
    1\应用场景,upstream用的域名,而这个时候又修改了解析
    2\比如我这里用3322动态dns,解析了新的ip
    3\其他
    wwek
        16
    wwek  
       Feb 5, 2015   ❤️ 1
    @qq286735628 直接 upstream ip当然就不存在这个问题了.
    qq286735628
        17
    qq286735628  
       Feb 5, 2015
    @wwek 原来是这样
    ryd994
        18
    ryd994  
       Feb 5, 2015 via Android
    @qq286735628 总之就是不买商业你就要手动改upstream。有resolve的话,如果服务器多,就可以直接改DNS,自动同步下去了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1463 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 112ms · UTC 16:54 · PVG 00:54 · LAX 09:54 · JFK 12:54
    ♥ Do have faith in what you're doing.