환경: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_stapling
TLS 인증서에 나열된 OCSP 응답자에게 연락해야 하는 을(를) 요청하셨습니다 . resolver
이름에서 IP 주소를 얻으려면 A 가 필요합니다.