Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Web-Traffic auf einen bestimmten Port umleiten
Diese Anleitung behandelt die Weiterleitung von Web-Traffic zu einem bestimmten Port, auch bei Verwendung einer dedizierten IP-Adresse und einer bestimmten Webanwendung (z. B. Node oder Varnish).
Voraussetzungen
- Eine Website zu Ihrem Hosting hinzufügen.
HAProxyauf dem Cloud-Server installieren.
Web-Traffic zu einem bestimmten Port umleiten
Standardmäßig wird der Web-Traffic auf einem Cloud-Server an Apache gesendet. Um Anfragen an ein Node-Skript oder einen anderen Dienst zu senden (vorausgesetzt, dieser „hört“ auf einem Port zwischen 4000 und 4009), muss dies über HAProxy erfolgen.
Dies gilt insbesondere für die Server Express, Socket.IO, Meteor.js, Nuxt.js, Django, Flask, Ruby on Rails und möglicherweise auch Java (J2E) usw.
Dazu müssen Sie sicherstellen, dass der Dienst auf einem Port zwischen 4000 und 4009 lauscht (z. B. mit server.listen(4000) für Express oder einen einfachen HTTP Node-Server, aber je nach Projektart auch auf andere Weise, z. B. über eine Konfigurationsdatei, im Code oder auf andere Weise) und auf allen Schnittstellen (0.0.0.0).
Es ist auch erforderlich, HAProxy wie im folgenden Beispiel zu konfigurieren:
- Klicken Sie hier, um auf die Verwaltung Ihres Cloud-Servers im Infomaniak Manager zuzugreifen (Benötigen Sie Hilfe?).
- Klicken Sie direkt auf den Namen des betreffenden Cloud-Servers.
- Klicken Sie im linken Menü auf Schnellinstallation.
- Klicken Sie auf das Aktionsmenü ⋮ rechts neben
HAProxy. - Klicken Sie auf Konfigurieren:

- Wählen Sie die gewünschten Informationen aus und speichern Sie sie:

Besonderheiten bei Aliasen und Wildcards
Die Konfiguration von HAProxy über den Schnellinstallationsassistenten gilt ausschließlich für die Hauptdomain des Hostings.
Derzeit werden Alias-Domains (sowohl spezifische als auch solche vom Typ Wildcard wie *.domain.xyz) von diesem Tool nicht nativ unterstützt.
Um den Datenverkehr eines Alias auf Ihre Anwendung umzuleiten (die beispielsweise auf Port 4000 lauscht), müssen Sie manuell eine Regel vom Typ „Proxy“ in der Datei .htaccess im Stammverzeichnis Ihrer Website konfigurieren:
# Redirect all traffic to the application (e.g., Node.js on port 4000)
RewriteEngine On
RewriteRule ^(.*)$ {{URL_6}} [P,L]Ohne diese manuelle Direktive werden alle Anfragen, die Ihren Aliasen oder Wildcards entsprechen, standardmäßig an Apache und nicht an Ihre spezifische Anwendung weitergeleitet.
Abrufen der ursprünglichen IP-Adresse einer Anfrage
Wenn Sie den Webverkehr zu Ihrer Webanwendung umleiten, ändert sich die Verarbeitung der Anfragen. Die Anfrage wird zuerst von einem Reverse-Proxy (lokal auf dem Server) empfangen, der die Anfrage dann an den gewählten Port weiterleitet. Aufgrund dieser Weiterleitung der Anfrage liefern die üblichen Methoden zur Ermittlung der IP-Adresse des Besuchers anstelle der IP-Adresse des Besuchers die IP-Adresse des Reverse-Proxy.
Um in diesen Fällen die tatsächliche Quell-IP-Adresse des Besuchers abzurufen, muss ein HTTP-Header namens X-Forwarded-For überprüft werden, der die bei jeder Weiterleitung gesammelten Quell-IP-Adressen enthält. Dieser Header enthält daher am Ende die ursprüngliche IP-Adresse des Clients, wodurch der tatsächliche Besucher identifiziert werden kann.
Achtung: Es ist wichtig zu beachten, dass HTTP-Header manipuliert werden können, was Sicherheitsrisiken birgt. Um diese Risiken zu minimieren, wird empfohlen, zu überprüfen, ob die Anfrage tatsächlich von einem vertrauenswürdigen Server stammt, bevor man dem Inhalt des Headers X-Forwarded-For vertraut. Diese Überprüfung kann die Sicherstellung beinhalten, dass die Anfrage von einem vertrauenswürdigen Zwischenserver übertragen wurde, der durch eine vordefinierte Liste von IP-Adressen identifiziert wird. Wenn die Website eine dedizierte IP-Adresse verwendet, sind die vertrauenswürdigen Server:
- 83.166.133.15
- 83.166.133.17
- 83.166.133.16
- 84.16.92.5
- 84.16.92.43
- 10.2.32.255
- 10.2.34.164
Link zu dieser FAQ: https://faq.infomaniak.com/2171
War diese FAQ nützlich?