Reverse Proxy für IPv6 zu IPv4?

1 Antwort

Mit NGINX z. B. so

Einfaches Beispiel:

server {
    listen [::]:80 ipv6only=on;

    location / {
        proxy_pass http://192.168.1.100:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Du musst natürlich deine IP von deinem Server einsetzen.

Allerdings wenn du DS-Lite hast kannst du auch direkt deine internen Server im Normalfall mit IPv6 ansprechen und nach außen freigeben. Allerdings ist in beiden Fällen ein Reverse Proxy oder auch unter Kubernetes ein Ingress Controller eine valide Lösung.

Eine analoge Lösung wäre auch mit dem HA Proxy möglich.

Woher ich das weiß:Berufserfahrung – Ausgebildeter System Engineer (FISI)
ExclusiveM 
Fragesteller
 23.06.2023, 00:29
Ich habe den Code in Nginx eingefügt und die IP (127.0.0.1 da ich den Server und den Reverse Proxy auf dem gleichen Gerät hoste) eingefügt. Nun bekomme ich eine Fehlermeldung wenn ich meine Website mit IPv4 erreichen will. DNS_PROBE_FINISHED_NXDOMAIN
0
SyntaxError95  23.06.2023, 00:34
@ExclusiveM

Bitte mehr Informationen.. welche Seite von wo aus und auch eine verlose Ausgabe von Curl wären hilfreich.

Die Fehlermeldung sagt aus das was mit der Namensauflösung nicht passt.

1
Renecap  23.06.2023, 00:40
@ExclusiveM

man gibt auch seine interne eigene Loop Adresse nicht an.

Sondern die IP die du zum Server über Statisch oder Dynamisch erhalten hast.

Viele machen den Fehler wie du es gemacht hast ,so geht das nicht. Klassischer denkfehler.

Dynamisch , von DHCP vergebene IP Adresse

Statisch ,selbst festgelegte IP Adresse im Netz wenn kein DHCP verwendet wird.

2
SyntaxError95  23.06.2023, 00:57
@Renecap

Jo hast Recht, ich bin wohl schon zu tief und zu lang in der Containerwelt unterwegs mit Services etc um diesen Fehler zu erkennen :D

Aber wenn er von extern zugreift und einen DNS Fehler bekommt, hat er bestimmt auch den A Record nicht richtig eingetragen oder vergessen einzutragen.

2
Thomasg  08.02.2024, 10:53
@SyntaxError95

der hauptsächliche Fehler ist, dass er den Reverse Proxy auf seinem Server hat.

Du musst dir einen einfachen vserver mieten (gibt es ab ca. 3€ mtl.) welcher eine öffentliche, statische IPv4 Adresse hat. Darauf installierst du den nginx, nimmst obige Konfiguration und ersetzt die IP Adresse in der proxy_pass Zeile durch die IPv6 Adresse deines Servers im Heimnetz ersetzen.

Dann benötigst du noch eine offizielle Domain, welche du bei einem Domainhoster kaufen kannst. Dort setzt du dann einen DNS Eintrag für z.B. www.example.com auf die IPv4 Adresse des vservers.

0