gpt4 book ai didi

nginx解析器——dns

转载 作者:行者123 更新时间:2023-12-04 06:53:20 24 4
gpt4 key购买 nike

请原谅一个非常初学者的问题。

我无法理解 nginx 'resolver' 参数及其工作原理。我已阅读文档、搜索教程和帖子(使用解析器、nginx 和 dns 等关键字),但我仍然不确定如何应用解析器。

http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver

“配置用于将上游服务器名称解析为地址的名称服务器......”

  • 根据这个定义,它似乎只是在做名称服务器的工作。resolver ns1.myhost.com ns2.myhost.com;但这些例子指向
    内部/私有(private) IP 地址。

  • “地址可以指定为域名或IP地址,以及可选的端口......”
  • 这意味着我可以 resolver example.com
    www.example.com;
    (或 resolver 12.34.56.78; )但同样,我在文档中没有看到这样的示例。

  • 作为一个实际的例子,假设——纯粹是假设:)——我正在构建一个简单的 Web 服务器,上面有几个服务器 block 。

    我是否将“解析器”设置为服务器本身的 IP?还是服务器局域网中的内部IP?文档似乎建议使用内部 IP(127.x.x.x 或 10.x.x.x)——但是如何设置/确定该 IP 是什么?

    最佳答案

    “解析器”参数定义了 nginx 必须使用的 DNS 服务器的位置,以便解析在 proxy_pass 下传递的 URL 的 IP;

    正如 Tarun 所解释的,默认情况下,nginx 将从主机/etc/resolv.conf 中选择您的解析器,一旦解析,它将缓存 IP。解析器主要用于两种情况: 1. 在专用网络中,解析您网络中存在的 IP。 2. 或者用在你的proxy_pass或者upstream位置的IP变化非常频繁,不能依赖nginx缓存IP的地方。

    在您指定的示例中,解析器将是可以解析您的位置的 DNS 服务器的 IP。这可能是:

    1) 127.0.0.1 : 如果 Web 服务器本身是 DNS 服务器,为此您需要在该服务器的端口 53(默认)上设置 DNS 服务器。

    2) x.x.x.x :托管在您的私有(private)网络或任何公共(public) DNS 服务器中的 DNS 服务器的 IP(如果您的 URL 可公开访问)。可以使用 8.8.8.8(Google 的公共(public) DNS 服务器)。

    3)您指定 10.x.x.x :假设您指的是 AWS 文档。如果不是,一般情况下,10.x.x.x 需要再次成为 DNS 服务器 IP,在 AWS 的情况下为 10.0.0.2。 AWS 保留其 VPC 的几个 IP,第二个 IP x.x.x.2 保留给 DNS 服务器。请注意,如果您的 VPC 不是 10.0.0.0/16,此 IP 将相应更改。例如:假设您的 VPC 是 10.192.0.0/16,那么您将使用 10.192.0.2 作为解析器。

    以上引用 https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html

    https://www.jethrocarr.com/2013/11/02/nginx-reverse-proxies-and-dns-resolution/

    关于nginx解析器——dns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49641685/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com