DIY VPS-Hosting für mehrere Domänen (3) auf einer einzigen statischen IP

DIY VPS-Hosting für mehrere Domänen (3) auf einer einzigen statischen IP

und danke für Ihren Beitrag.

Was ich machen will; was ich vorhabe zu tun: Ich möchte beispielsweise einige Web- und E-Mail-Anwendungen für mich und zwei Kunden auf einer statischen IP-Adresse hosten, hauptsächlich zu Lernzwecken, und möglicherweise auch über eingeschränktes Hosting für ein paar Langzeitkunden mit einer geringen Anzahl von Benutzern nachdenken.

Was ich habe Ich verwende XenServer Xeon mit 32 GB RAM, eine 100-MB-Verbindung, aber eine einzelne statische IP.

Was ich herauszufinden versuche Ich möchte mit der Einrichtung einiger virtueller Maschinen auf dem Xenserver experimentieren, auf denen beispielsweise IBM Lotus Domino (diese verwendet mehrere Ports) 80, 25 und 1352 läuft. Ich muss also herausfinden, wie ich den Datenverkehr basierend auf dem Domänennamen an den entsprechenden Server weiterleiten kann. Zum Beispiel

Einzelne externe WAN-IP -> domain1.com:80 -> VM1:80 Einzelne externe WAN-IP -> domain1.com:1352 -> VM1:1352

Einzelne externe WAN-IP -> domain2.com:80 -> VM2:80 Einzelne externe WAN-IP -> domain2.com:1352 -> VM2:1352

Einzelne externe WAN-IP -> domain3.com:80 -> VM3:80 (Cpanel für Webhosting ausführen)

Ich verstehe, dass ein Reverse-Proxy die Lösung sein könnte. NGINX oder POUND, aber das scheint nur für Webanwendungen und nicht für andere Anwendungen zu sein. Ich bin auch über Citrix Netscaler gestolpert und war völlig verwirrt. Ich habe auch schon über die Verwendung von DD-WRTs iptables oder so etwas nachgedacht. Es muss einfach eine Möglichkeit geben, das zu tun. Ich würde mich über jeden Beitrag freuen. Sicherlich macht das irgendwo schon jemand.

Ich bin offen für Router, kundenspezifische oder andere, oder virtuelle oder andere Geräte, aber ich hätte am liebsten etwas Softwarebasiertes wie ein virtuelles Gerät oder so etwas. Irgendwelche Ideen?

Danke

Shane

Antwort1

Ich muss also herausfinden, wie ich den Verkehr basierend auf dem Domänennamen an den entsprechenden Server weiterleiten kann.

Dies ist nur möglich, wenn eine Spezifikation auf Anwendungsebene vorliegt (z. B. Host-Header von HTTP). Ohne diese IP weiß diese nichts über DNS, sodass Sie nicht darauf basierend weiterleiten können.

Sehen Sie sich diese im Wesentlichen ähnliche Frage vom anderen Tag an:kann ich DNS mit privaten NAT-Adressen verwenden?

Antwort2

Empfehlen Sie zunächst, IPv6 einzurichten und eine /60-Route zu jeder VM zu erstellen. Auf diese Weise haben Benutzer mit IPv6 keine Probleme mit dem Proxying, da ihr Datenverkehr direkt an den gewünschten Host weitergeleitet wird.

Darüber hinaus erhalten Sie durch IPv6 auf den VMs eine Adresse, an die Sie den Datenverkehr weiterleiten können. In manchen Situationen ist das einfacher, weil der Proxy auf DNS zurückgreifen kann, um das Backend zu finden.

Für HTTP-Verkehr ist ein Reverse-Proxy die beste Lösung. Ein Reverse-Proxy kann auch HTTPS-Verkehr verarbeiten, solange sowohl der Client als auch der Proxy SNI unterstützen. Dies funktioniert auch, wenn der Webserver SNI nicht unterstützt. Dies muss nicht auf Port 80 und 443 beschränkt sein. Der Proxy kann so konfiguriert werden, dass er Verkehr auf beliebigen Ports empfängt.

SMTP kann durch die Installation eines Mail-Relays auf der IPv4-Adresse abgewickelt werden. Es muss darauf geachtet werden, dass es nicht zum Weiterleiten von Spam missbraucht wird. Ich empfehle, eine Firewall-Regel so einzurichten, dass das Relay keine Verbindung zu externen SMTP-Servern herstellen kann. Die Firewall kann SMTP-Verbindungen von außen zum Relay, vom Relay über IPv6 zu den VMs und von den VMs zur Außenwelt entweder als IPv6 oder als IPv4 zulassen, was offensichtlich über ein NAT laufen muss.

DNS kann grundsätzlich unterstützt werden, aber ich weiß nicht, ob jemand bereits Unterstützung dafür implementiert hat.

Wenn Sie an andere spezielle Protokolle denken, mache ich Ihnen gerne Vorschläge, wie diese unterstützt werden könnten. Ich kenne keine anderen Protokolle, die den Domänennamen früh genug senden, damit ein solches Frontend basierend auf dem Domänennamen versenden kann, würde aber gerne mehr über andere erfahren.

Ich habe umgesetzteinsIch selbst habe ein solches Frontend, aber im Moment nur HTTP und HTTPS, da diese Protokolle bei weitem am einfachsten zu unterstützen sind.

verwandte Informationen