Verschiedene Benutzer, die über VPN auf meinen Dienst zugreifen

Verschiedene Benutzer, die über VPN auf meinen Dienst zugreifen

Ich habe einen Webdienst (PHP, SQL usw.), der auf einem AWS-Konto ausgeführt wird. Ich habe OpenVPN eingerichtet, daher müssen Benutzer die VPN-Verbindung herstellen, dann funktioniert die IP-Adresse.

Ich habe dies derzeit als example123.noip.com eingestellt, das zu 172.xxx.xxx.123 führt

Und das funktioniert.

Mein Service kommt gut an und ich möchte ihn auch anderen Firmen anbieten können, ABER ich möchte mehrere Firmen auf derselben AWS-Instanz hosten können und jedem Unternehmen ein nahtloses Erlebnis bieten. Daher denke ich beispielsweise darüber nach, weitere NoIP-Adressen einzurichten: clientcompany1.noip.com -> 172.xxx.xxx.123 clientcompany2.noip.com -> 172.xxx.xxx.123 clientcompany3.noip.com -> 172.xxx.xxx.123

Also geht Herr X von Firma 3 zu clientcompany3.noip.com und dort werden seine „Meine Serviceseiten“ mit der Marke Firma 3 angezeigt … (er weiß nicht, dass andere Firmen auf diesem AWS-Konto gehostet werden).

(und irgendwann muss ich möglicherweise eine separate AWS-Instanz hinzufügen, und dann kann ich einfach clientcompany3.noip.com -> 172.xxx.xxx umdrehen.neue Adresse 456)

ABER – wie kann ich das am besten innerhalb von AWS erkennen oder weiterleiten? Führe ich einfach eine Umleitungserkennung anhand der HTTP-Header mit PHP durch? Gibt es eine clevere Möglichkeit, den Datenverkehr mit OpenVPN weiterzuleiten?

Antwort1

Ok, ich denke, der beste Weg ist, meine Domain über Cloudflare zu routen.

Ich kann dann Subdomänen als A-Einträge definieren, die für jeden Dienst an die private oder öffentliche IP-Adresse weiterleiten (einige Benutzer haben also möglicherweise eine statische IP-Adresse, die ich durch die AWS-Firewall-Regeln lassen kann, sodass diese an die öffentliche IP-Adresse weitergeleitet werden), während der Rest das VPN aktivieren muss und dieses dann an die private VPN-Adresse weiterleitet.

Mein PHP-Header überprüft den SERVER['HTTP_HOST'] und erkennt beispielsweise „clinicABC.example.com“ und präsentiert das Branding für ABC Clinic.

verwandte Informationen