
Ich versuche, von außen über Subdomains auf Anwendungen mit internen IPs zuzugreifen.
Meinen Untersuchungen zufolge scheint es mit HTTP und Apache, das über einen integrierten DNS-Server läuft, machbar.
So verweisen Sie Subdomains auf verschiedene lokale IPs
Was ist jedoch, wenn es sich bei der Anwendung nicht um eine Website handelt, sondern um eine Website ohne Verwendung von Apache?
was ich versuche ist
Wenn Port 8000 auf abc.mydomain.com angefordert wird, verweist er auf 192.168.0.1:8000
Wenn Port 8000 auf def.mydomain.com angefordert wird, verweist er auf 192.168.0.2:8000
Ich habe öffentliche IP-Adressen anstelle der internen Adresse verwendet und es hat gut funktioniert, aber jetzt kann ich mir die öffentlichen IP-Adressen nicht mehr leisten und suche nach einer Lösung. Danke!
Antwort1
Der typische Anwendungsfall von DNS, bei dem Namen in IP-Adressen aufgelöst werden, hilft nicht, wenn die IP-Adressen identisch sind. Die verschiedenen A-Einträge werden in dieselbe IP-Adresse aufgelöst, die aus Sicht der IP-Schicht dasselbe Ziel hat.
Verwenden Sie einen anwendungsorientierten Load Balancer, um namensbasiertes virtuelles Hosting zu ermöglichen. Wie der von Ihnen zitierte Link, in dem Apache httpd den HTTP-Hosts-Header verwendet. Unterscheiden von Anfragen auf Ebene 7.
Die Lösung ist letztendlich IPv6. Ein /64 für jedes Subnetz, öffentliche IPs für jeden Host und ein Ende der Preisgestaltung pro IP.