Что механически делает директива resolver в Nginx, чтобы избежать ошибок и предупреждений?

Что механически делает директива resolver в Nginx, чтобы избежать ошибок и предупреждений?

Среда:Nginx, Node.js

Я прочиталДокументация Nginx по Resolver, я понимаю, что он используется для DNS, и я включаю его в свою конфигурацию. Однако я не совсем понимаю, что он делает или когда и зачем он мне нужен.

В упрощенной конфигурации ниже, когда я включаю серверы nginx и node.js и запрашиваю страницы в браузере, все работает как и ожидалось, и никаких предупреждений или ошибок не выдается. IP-адреса, которые я использую, resolverявляются публичными DNS-серверами Google.

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;
        }

    }

}

Однако, когда я удаляю 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 [warn] 1191#1191: не определен распознаватель для разрешения r3.o.lencr.org при запросе статуса сертификата, ответчик: r3.o.lencr.org, сертификат: "/etc/letsencrypt/live/example.com/fullchain.pem"

Достаточно просто сохранить ссылку на DNS-серверы Google в качестве моего resolverзначения и избежать предупреждения, но я не совсем уверен, что происходит. Поскольку я не знаю, что делает эта директива, я не совсем уверен, являются ли DNS-серверы Google правильным выбором. Я считаю, что мне нужно только resolverесли я также использую proxy_passдирективу, но я не совсем уверен в этом.

Вопрос:Что делает resolver и когда он вызывается или не вызывается? Я понимаю, что он выполняет DNS, но я не уверен, когда и почему.

решение1

Вы запросили ssl_stapling, что требует обращения к ответчику OCSP, указанному в вашем сертификате TLS. A resolverнеобходимо для получения IP-адреса из его имени.

Связанный контент