Website mit VPN über Server weiter leiten?

3 Antworten

Wenn google nicht witerhelfen kann dann villeicht gpt4, hab mal für dich gefragt. Ich denke du verwedest dass noch nicht oder. Egal villeicht kannst du mit der antwort ja was anfangen ich hatte dieses problem noch nie und darum kann ich dir nich weiterhelfen, ich kenn mich ja auch nicjt so gut aus in dem thema, egal

Um eine Verbindung von Netzwerk A zu der lokal gehosteten Website in Netzwerk B herzustellen, könnten Sie einen Reverse-Proxy verwenden. Dieser leitet Anfragen von Netzwerk A an die Webseite in Netzwerk B weiter und sendet die Antworten zurück.

Hier sind die Schritte, um dies zu implementieren:

Installieren Sie einen Reverse-Proxy auf dem Server in Netzwerk A. Beliebte Optionen sind Nginx oder Apache. Für diese Beispiel verwenden wir Nginx.

Installieren Sie WireGuard auf dem Server in Netzwerk A, falls noch nicht geschehen, und stellen Sie sicher, dass die VPN-Verbindung zwischen Netzwerk A und Netzwerk B funktioniert.

Konfigurieren Sie Nginx als Reverse-Proxy, indem Sie eine neue Konfigurationsdatei erstellen (z.B. /etc/nginx/sites-available/meine-website) und folgenden Inhalt einfügen:

server {

listen 80;

server_name meine-website.local;

location / {

proxy_pass http://IP_DER_WEBSEITE_IN_NETZWERK_B:PORT;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

}

Ersetzen Sie IP_DER_WEBSEITE_IN_NETZWERK_B mit der IP-Adresse der Website in Netzwerk B und PORT mit dem Port, auf dem die Website läuft (normalerweise 80 oder 443). Ändern Sie meine-website.local in den gewünschten Domainnamen oder Hostnamen.

Erstellen Sie einen symbolischen Link zur neuen Konfigurationsdatei im sites-enabled-Verzeichnis:

sudo ln -s /etc/nginx/sites-available/meine-website /etc/nginx/sites-enabled/

Testen Sie die Nginx-Konfiguration mit sudo nginx -t. Wenn die Konfiguration in Ordnung ist, starten Sie Nginx neu:

sudo systemctl restart nginx

Stellen Sie sicher, dass der Domainname oder Hostname, den Sie in der Nginx-Konfiguration verwendet haben, auf den Server in Netzwerk A zeigt. Dies kann über eine lokale Hosts-Datei oder einen DNS-Server geschehen.

Nun sollten Benutzer in Netzwerk A in der Lage sein, auf die lokal gehostete Website in Netzwerk B zuzugreifen, indem sie den Domainnamen oder Hostnamen verwenden, den Sie in der Nginx-Konfiguration angegeben haben

Ich hoffe chatgpt konnte dir weiterhelfen :)

"muss ich mich mit einer WireguardVPN verbinden." - Also erreichst du Netzwerk A von Netzwerk B bereits.

"Eine Verbindung von meinem Server in Netzwerk (A) zu der Website in Netzwerk (B) aufzubauen" - nein, du willst von Netzwerk B ja Netzwerk A erreichen, was du schon tust. Ein weiterer VPN Tunnel zwischen den beiden gibt dir lediglich eine weitere Verbindung, aber nicht weitere Möglichkeiten.

"diese dann "weiter zuleiten" - auch nein. Wenn du auf einen entfernten Webserver zugreifst, sendest du lediglich Anfragen dahin, und für die Antwort muss lediglich eine Route zurück zur Ursprungsadresse bestehen.

Mir scheint, dass du, gesehen dass du von Netzwerk B bereits Netzwerk A erreichen kannst, an der Stelle bereits alles Nötige getan wurde. Was noch nötig sein könnte, ist, den VPN Peer in Netzwerk A so zu konfigurieren, dass er eingehende Pakete zwischen zwei Netzwerkschnittstellen forwarded, eine Netzwerkroute im Gerät mit Webbrowser im Netzwerk B, die für Pakete mit Zieladressen in Netzwerk A den VPN Peer als gateway zu Netzwerk A verwendet, und eine Zurück-Route zu Netzwerk B für Antworten vom Webserver.

Wenn dir das zu viel Routen ist, kannst du einen Teil der Routen dadurch ersetzen, dass du vom VPN Peer in Netzwerk A einen masquerading Gateway für eingehende Pakete von Netzwerk B machst, womit die Zurück-route entfallen kann.

Woher ich das weiß:Berufserfahrung – Ich weiß, wie man "Computer" buchstabiert.

Ein Lösungsansatz wäre mit einem Reverse Proxy.

Also:

Server B hat ein Webserver, der nur in Netzwerk B erreichbar ist.

Deswegen baut Server A (Netzwerk A) eine VPN Verbindung mit Server B oder auch Server C (Netzwerk B) auf.

Auf Server A kannst du ein Webserver wie Apache2 oder NGINX installieren und dort ein Reverse Proxy einrichten. Der Webser nimmt dann den öffentlichen Request an und leitet ihn intern an Server B weiter. Hier könntest du auch sehr gut eine Verschlüsselung über HTTPS integrieren.

Mit dem Stichwort Reverse Proxy solltest du einige Suchergebnisse finden.

Alternativ könntest du auch Port Forwarding über SSH nutzen. Die wäre je nach Richtung mit -L bzw. -R möglich. Es hängt davon ab, ob der Server in Netzwerk A oder B die Verbindung aufbaut.

Damit kannst du jeglichen TCP Traffic wie auch HTTP(S) über SSH weiterleiten.

Falls dir eine SSH Verbindung sicher genug ist, könntest du auch die VPN Verbindung weglassen. Falls der Server aus Netzwerk B die Verbindung zu Netzwerk A aufbaut, wäre hier auch keine Portfreigabe nötig.