NGINX Proxy_Pass-Hostauflösung inkonsistent mit IP6

NGINX Proxy_Pass-Hostauflösung inkonsistent mit IP6

Ich verwende NGINX in einem einfachen Reverse-Proxy-Szenario, normalerweise mit einer Variablen zum Definieren von Hostnamen, damit der Start nicht fehlschlägt, wenn der Host nicht verfügbar ist.

Folgendes habe ich herausgefunden: Mit dieser Konfiguration wird der Datenverkehr über einen Proxy weitergeleitet, aber die Seiten werden nicht vollständig gerendert – es sieht so aus, als würden einige der JS-Bibliotheken nicht geladen.

    resolver 192.168.86.1 valid=30s ipv6=off;
    location /cam/ {
               set $motion01 motion01;
               proxy_set_header Host $host;
               proxy_pass http://$motion01.lan/;

Wenn ich ipv6=off wie folgt entferne, erhalte ich 502 Bad Gateway und die Fehlermeldung „Host nicht aufgelöst“:

    resolver 192.168.86.1 valid=30s;
    location /cam/ {
               set $motion01 motion01;
               proxy_set_header Host $host;
               proxy_pass http://$motion01.lan/;

Wenn ich jedoch die Änderung vornehme und einen wörtlichen Hostnamen anstelle einer Variablen verwende, funktioniert es einwandfrei:

               set $motion01 motion01;
               proxy_set_header Host $host;
               #proxy_pass http://$motion01.lan/;
               proxy_pass http://motion01.lan/;

Ich möchte keinen wörtlichen Hostnamen verwenden, da Nginx nicht startet, wenn der Host beim Start nicht verfügbar ist, aber ich kann nicht herausfinden, was mit dieser Konfiguration los ist.

Ich habe es mit aktiviertem und deaktiviertem IP6 auf dem Server versucht, und mit Ein- und Ausschluss der

listen [::]:443 ssl; 

Direktive, alles ohne Erfolg. Dies war bei der früheren Version von nginx kein Problem (ich kann mich nicht erinnern, welche ich ursprünglich verwendet habe), ist es jetzt aber bei 1.14.2.2.

Alle Vorschläge sind willkommen!

verwandte Informationen