VpnHood!

Ihren Server hinter einen Reverse-Proxy schalten

Ein Netzwerk, das die IP-Adresse Ihres Servers blockiert, kann Apps nicht aufhalten, die sich gar nicht direkt dorthin verbinden. Hinter einem Reverse-Proxy wie Cloudflare verbinden sich die Apps mit dem Proxy, und dieser leitet die Verbindung an Ihren Server weiter.

So funktioniert es

Ihre Domain verweist auf den Proxy statt auf Ihren Server. Apps rufen die Domain ab und verbinden sich mit dem Proxy. Dieser entschlüsselt die Verbindung wie bei jeder gehosteten Website und verschlüsselt sie in Richtung Ihres Servers neu. Der Datenverkehr läuft über WebSocket, was Cloudflare weiterleitet. Auch andere Reverse-Proxys funktionieren, solange sie WebSocket unterstützen und Ihren Server über TLS erreichen.

Apps erreichen Ihren Server über den Proxy Die Apps Ihrer Nutzer rufen Ihre Domain ab und verbinden sich mit dem Reverse-Proxy (z. B. Cloudflare), der die Verbindung an Ihren Server weiterleitet. Die direkte Verbindung zur IP-Adresse Ihres Servers ist blockiert – die Apps umgehen sie einfach. Reverse-Proxy z. B. Cloudflare Ihre Domain app.example.com 203.0.113.10 blockiert Ihre Nutzer VpnHood! CLIENT Ihr Server VpnHood! SERVER Der Proxy bringt Apps an der Blockade vorbei
Apps erreichen Ihren Server über den Proxy Die Apps Ihrer Nutzer rufen Ihre Domain ab und verbinden sich mit dem Reverse-Proxy (z. B. Cloudflare), der die Verbindung an Ihren Server weiterleitet. Die direkte Verbindung zur IP-Adresse Ihres Servers ist blockiert – die Apps umgehen sie einfach. Reverse-Proxy z. B. Cloudflare Ihre Domain app.example.com 203.0.113.10 blockiert Ihre Nutzer VpnHood! CLIENT Ihr Server VpnHood! SERVER Der Proxy bringt Apps an der Blockade vorbei

Apps rufen die Domain nur ab, wenn ihr Schlüssel sie als vertrauenswürdigen Namen enthält – dafür ist ein Zertifikat einer Zertifizierungsstelle erforderlich.

Ein Schlüssel kann auch die direkte Adresse Ihres Servers enthalten. Apps können sich dann auf beiden Wegen verbinden: Der Proxy hält die Verbindung aufrecht, falls die IP blockiert ist – allerdings kann jeder mit diesem Schlüssel die IP-Adresse auslesen. Ein Schlüssel ohne Serveradresse leitet jede App ausnahmslos über den Proxy.

Wichtig zu wissen

  • Blockieren: Ein Netzwerk kann weiterhin die Adressen des Reverse-Proxys oder deine Domain blockieren. Da die Adressen von Cloudflare jedoch viele andere Websites bedienen, ist eine Blockierung mit hohen Hürden verbunden.
  • DNS: Apps lösen deine Domain vor dem Verbindungsaufbau über das DNS des Netzwerks auf. Wenn das Netzwerk die Antwort blockiert oder verfälscht, weichen Apps auf die IP-Adressen in ihrem Schlüssel aus. Ein Schlüssel, der nur die Domain enthält, kann sich dann nicht verbinden.
  • Datenschutz: Der Reverse-Proxy sieht dieselben Daten im Tunnel wie dein Server: Verbindungsziele deiner Nutzer und unverschlüsselte Inhalte. HTTPS-Verbindungen bleiben durchgehend verschlüsselt. Nutze daher nur einen vertrauenswürdigen Reverse-Proxy.
  • Nur TCP: Dein Server stellt seine UDP- und QUIC-Ports nicht für Apps bereit, die über den Proxy verbinden.
  • Nutzungsbedingungen: Prüfe, ob die Bedingungen deines Anbieters VPN-Datenverkehr erlauben. Eine kleine Gruppe von rund 50 oder weniger Nutzern ist meist unbedenklich.

Bevor du beginnst

  • Eine Domain oder Subdomain mit einem Zertifikat einer Zertifizierungsstelle auf deinem Server: Unter Einen Domainnamen und ein vertrauenswürdiges Zertifikat verwenden erfährst du mehr. Richte dies zuerst ein, solange der DNS-Eintrag der Domain noch direkt auf den Server verweist.
  • Ein einzelner Server hinter der Domain. Einträge, die auf zwei Server verweisen, können die Verbindungen einer einzelnen Sitzung aufteilen und die Sitzung unterbrechen.
  • Der Server lauscht auf TCP-Port 443 oder auf einem anderen Port, den der Proxy weiterleitet. Cloudflare leitet HTTPS ausschließlich über 443, 2053, 2083, 2087, 2096, 8443 weiter.

Proxy aktivieren

  1. Öffne in Cloudflare die DNS-Einträge deiner Domain und setze den Eintrag, der auf deinen Server verweist, auf Proxied – ebenso wie den AAAA-Eintrag, falls vorhanden.
  2. Stelle unter SSL/TLS den Verschlüsselungsmodus auf Full (strict). Cloudflare verbindet sich dann über TLS mit deinem Server und prüft das Zertifikat. Im Modus Flexible wird unverschlüsseltes HTTP verwendet, was der Server ablehnt.

VpnHood! MANAGER erneuert Zertifikate über unverschlüsseltes HTTP auf TCP-Port 80 über die Domain, und Cloudflare leitet dies an deinen Server weiter. Deaktiviere auf einem verwalteten Server Always Use HTTPS: Andernfalls wird die Anfrage auf HTTPS umgeleitet und die Erneuerung schlägt fehl.

Auf einem verwalteten Server

Überprüfe das Farm-Zertifikat für die Domain: Unter Signature sollte CA Signed stehen und Visibility auf PublicInToken gesetzt sein. Schlüssel enthalten dann die Domain und Apps lösen sie auf.

Um alle Apps über den Proxy zu leiten, entferne die servereigenen Adressen aus den Schlüsseln unter Access Points des Servers:

  1. Deaktiviere Automatic Configuration.
  2. Bearbeite jede Adresse und setze deren Mode auf Private.
  3. Belasse Listen auf Yes, damit der Server weiterhin auf Anfragen lauscht und der Proxy sich verbinden kann.
Die Zugangspunkte eines Servers in VpnHood! MANAGER, konfiguriert für einen Reverse-Proxy: Automatische Konfiguration aus (1) und jede Adresse mit Modus Privat (2) und Lauschen Ja (3)
Beide Serveradressen sind nicht in den Schlüsseln enthalten, der Server lauscht jedoch weiterhin auf ihnen.

MANAGER erlaubt Schlüssel ohne Adresse nur, wenn das Zertifikat CA Signed anzeigt. Unter IP-Adressen des Servers festlegen werden die einzelnen Einstellungen erklärt.

Bleibt PublicInToken aktiv, verbleiben die Adressen in den Schlüsseln, und Apps nutzen sie ebenso wie den Proxy. So hält der Proxy Ihre Nutzer verbunden, selbst wenn eine Adresse blockiert wird.

Apps mit einem älteren Schlüssel erhalten beim nächsten Verbindungsaufbau automatisch den neuen, da Push token to clients standardmäßig aktiviert ist.

Die Domain verweist auf einen Server. In einer Server-Farm erreicht jede über den Proxy eingehende App daher denselben Server.

Auf einem Standalone-Server

Stellen Sie sicher, dass der Server das Zertifikat der Domain verwendet und IsValidHostName auf true gesetzt ist. Wie das geht, zeigt Einen Domainnamen und ein vertrauenswürdiges Zertifikat nutzen. Neu erstellte Schlüssel enthalten die Domain, die von den Apps aufgelöst wird.

Ein Standalone-Server hinterlegt neben der Domain immer auch seine eigenen Adressen in den Schlüsseln, sodass Apps beides nutzen können. Der Proxy hält Nutzer auch bei blockierter Adresse verbunden – die Adresse selbst ist jedoch für jeden Schlüsselinhaber sichtbar.

Nächste Schritte