server resolve

2015-02-05 00:18:55 +08:00
 Livid

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;
}
4045 次点击
所在节点    NGINX
18 条回复
cevincheung
2015-02-05 00:23:26 +08:00
1.0.6在http段有resolve参数

http {
resolve 8.8.8.8;
}
LazyZhu
2015-02-05 00:23:37 +08:00
需要设置 http 的 resolver
resolver 8.8.8.8;
cevincheung
2015-02-05 00:24:08 +08:00
update:


是location段

resolver 8.8.8.8
Livid
2015-02-05 00:29:15 +08:00
抱歉,刚才实际测试了一下之后发现,这个功能只在 NGINX 商业版里有。

Additionally, the following parameters are available as part of our commercial subscription.
aveline
2015-02-05 00:31:19 +08:00
Livid
2015-02-05 01:21:25 +08:00
@aveline 多谢分享。

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

https://github.com/GUI/nginx-upstream-dyanmic-servers/issues/1
laomutuo
2015-02-05 07:35:16 +08:00
@Livid 商业版价格多少?
shixinyu
2015-02-05 09:51:42 +08:00
fannheyward
2015-02-05 10:02:18 +08:00
如果 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
2015-02-05 10:03:16 +08:00
这个功能好. 不用我老是去重启了```
wwek
2015-02-05 10:03:44 +08:00
@Livid 啊,奥商业版``
不知道淘宝的支持否`
wwek
2015-02-05 10:04:33 +08:00
qq286735628
2015-02-05 10:11:18 +08:00
'NGINX 来追踪这个地址的解析变化'是做什么用的?缓存DNS解析这步?那直接upstream一个IP呢?
wwek
2015-02-05 10:18:52 +08:00
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
2015-02-05 10:20:19 +08:00
@qq286735628 upstream 指定的域名解析有变动.nginx默认是不会去追踪的.
1\应用场景,upstream用的域名,而这个时候又修改了解析
2\比如我这里用3322动态dns,解析了新的ip
3\其他
wwek
2015-02-05 10:23:46 +08:00
@qq286735628 直接 upstream ip当然就不存在这个问题了.
qq286735628
2015-02-05 12:36:19 +08:00
@wwek 原来是这样
ryd994
2015-02-05 15:41:03 +08:00
@qq286735628 总之就是不买商业你就要手动改upstream。有resolve的话,如果服务器多,就可以直接改DNS,自动同步下去了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/168350

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX