Umfeld:Nginx, Node.js
Ich habe gelesenNginx-Dokumente zu Resolver, ich verstehe, dass es für DNS verwendet wird und ich schließe es in meine Konfiguration ein. Ich verstehe jedoch nicht ganz, was es tut oder wann und warum ich es brauche.
Wenn ich in der untenstehenden vereinfachten Konfiguration die nginx- und node.js-Server einschalte und Seiten im Browser anfordere, funktioniert alles wie erwartet und es werden keine Warnungen oder Fehler ausgegeben. Die von mir verwendeten IP-Adressen resolver
sind die öffentlichen DNS-Server von 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;
}
}
}
Wenn ich jedoch den Serverstart entferne resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];
und Seiten anfordere, erhalte ich eine Warnung in meinem error.log. Gleichzeitig funktioniert im Browser alles einwandfrei und es wird kein Fehler oder keine Warnung an den Client gesendet.
11.12.2020 20:04:24 [Warnung] 1191#1191: Kein Resolver zum Auflösen von r3.o.lencr.org bei Anforderung des Zertifikatsstatus definiert, Responder: r3.o.lencr.org, Zertifikat: „/etc/letsencrypt/live/example.com/fullchain.pem“
resolver
Es ist einfach genug, den Verweis auf die DNS-Server von Google als meinen Wert beizubehalten und die Warnung zu vermeiden, aber ich bin mir nicht ganz sicher, was passiert. Da ich nicht weiß, was diese Anweisung bewirkt, bin ich mir nicht ganz sicher, ob die DNS-Server von Google die richtige Wahl sind. Ich glaube, ich brauche sie nur resolver
, wenn ich die Anweisung auch verwende, proxy_pass
aber da bin ich mir nicht ganz sicher.
Frage:Was macht der Resolver und wann wird er aufgerufen oder nicht aufgerufen? Ich verstehe, dass er DNS ausführt, bin mir aber nicht sicher, wann oder warum.
Antwort1
Sie haben nach gefragt ssl_stapling
, was die Kontaktaufnahme mit dem in Ihrem TLS-Zertifikat aufgeführten OCSP-Responder erfordert. Ein resolver
wird benötigt, um die IP-Adresse aus seinem Namen abzuleiten.