Nginx에서 오류와 경고를 피하기 위해 리졸버 지시문은 기계적으로 무엇을 수행합니까?

Nginx에서 오류와 경고를 피하기 위해 리졸버 지시문은 기계적으로 무엇을 수행합니까?

환경:Nginx, Node.js

나는 읽었다리졸버의 Nginx 문서, DNS에 사용된다는 것을 이해하고 이를 내 구성에 포함합니다. 그러나 나는 그것이 무엇을 하고 있는지, 언제, 왜 필요한지 완전히 이해하지 못합니다.

아래의 단순화된 구성에서 nginx 및 node.js 서버를 켜고 브라우저에서 페이지를 요청하면 모든 것이 예상대로 작동하고 경고나 오류가 발생하지 않습니다. 제가 사용하고 있는 IP 주소는 resolver구글의 공개 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;
        }

    }

}

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/ letsencrypt/live/example.com/fullchain.pem"

Google의 DNS 서버에 대한 참조를 내 가치로 유지하고 경고를 피하는 것은 쉽지만 resolver무슨 일이 일어나고 있는지 완전히 확신할 수 없습니다. 이 지시문이 무엇을 하는지 모르기 때문에 Google의 DNS 서버가 올바른 선택인지 완전히 확신할 수 없습니다. resolver나는 지시문을 사용하는 경우 에만 필요하다고 생각 proxy_pass하지만 완전히 확신할 수는 없습니다.

질문:리졸버는 무엇을 하며 언제 호출되거나 호출되지 않습니까? DNS를 수행하고 있다는 것은 이해하지만 언제, 왜 그런지는 잘 모르겠습니다.

답변1

ssl_staplingTLS 인증서에 나열된 OCSP 응답자에게 연락해야 하는 을(를) 요청하셨습니다 . resolver이름에서 IP 주소를 얻으려면 A 가 필요합니다.

관련 정보