请原谅一个非常初学者的问题。
我无法理解 nginx 的“解析器”参数及其工作原理。我已阅读文档、搜索教程和帖子(使用解析器、nginx 和 dns 等关键字),但我仍然不确定如何应用解析器。
http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver
“配置用于将上游服务器的名称解析为地址的名称服务器......”
- 根据这个定义,它似乎只是在执行名称服务器的工作。
resolver ns1.myhost.com ns2.myhost.com;
但例子指出
内部/私有 IP 地址。
“地址可以指定为域名或IP地址,以及可选的端口......”
- 这意味着我可以
resolver example.com
www.example.com;
(or resolver 12.34.56.78;
)但同样,我在文档中没有看到这样的示例。
作为一个实际的例子,假设——纯粹是假设:)——我正在构建一个简单的 Web 服务器,上面有几个服务器块。
我是否将“解析器”设置为服务器本身的 IP?或者服务器 LAN 中的内部 IP?该文档似乎建议使用内部 IP(127.x.x.x 或 10.x.x.x)——但是如何设置/确定该 IP 是什么?
Resolve 表示 nginx 在解析外部 url 时应参考哪个 DNS 服务器。如果你有如下的配置
location / {
proxy_pass http://www.example.com/abc/def;
}
现在默认nginx
将从主机中选择您的解析器/etc/resolv.conf
,但这可能不是您所需要的。如果你想使用 Google DNS 解析器,那么你将更新你的 nginx 配置,如下所示:
location / {
resolver 8.8.8.8;
proxy_pass http://www.example.com/abc/def;
}
如果您使用本地 DNS 解析器在本地网络内进行路由,那么您可以使用如下所示的内容:
location / {
resolver 192.168.11.10;
proxy_pass http://machineabc/abc/def;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)