sta*_*wed 5 domain-name-system nginx internal-dns
环境: Nginx、Node.js
我已阅读有关 Resolver 的 Nginx 文档,我了解它用于 DNS,并将其包含在我的配置中。然而我并不完全理解它在做什么或者何时以及为什么我需要它。
在下面的简化配置中,当我打开 nginx 和 node.js 服务器并在浏览器中请求页面时,一切都会按预期工作,并且不会引发任何警告或错误。我使用的 IP 地址resolver是 google 的公共 DNS 服务器。
http {
resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
root /srv/example/views/public;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我删除resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];启动服务器和请求页面时,我在 error.log 中收到警告。同时,浏览器中一切正常,不会向客户端发送错误或警告。
2020/12/11 20:04:24 [警告] 1191#1191:在请求证书状态时没有定义解析器来解析 r3.o.lencr.org,响应者:r3.o.lencr.org,证书:“/etc/让加密/live/example.com/fullchain.pem“
resolver将 Google 的 DNS 服务器的引用保留为我的值并避免警告很容易,但我不完全确定发生了什么。因为我不知道该指令的用途,所以我不完全确定 Google 的 DNS 服务器是否是正确的选择。我相信我只需要resolver在我也使用该proxy_pass指令时才需要,但我并不完全确定这一点。
问题:解析器在做什么以及何时调用或不调用?我知道它正在执行 DNS,但我不确定何时或为何。
| 归档时间: |
|
| 查看次数: |
4259 次 |
| 最近记录: |