Sie können einem Domänennamen oder einem statisch definierten Hostnamen keine Portnummer zuweisen.
Ein Hostname wird in eine IP-Adresse übersetzt, und die Portnummer ist eine separate Nummer, die der IP-Adresse hinzugefügt wird.
Mit einem DNS- Diensteintrag (SRV) können Sie den Ort eines Dienstes einschließlich seiner IP-Adresse und Portnummer definieren. Dies erfordert jedoch eine spezielle Anwendung, die den DNS nach dem SRV- Eintrag abfragt ( RFC2782 nennt sie "SRV-kognizante Clients"). .
Ein Browser, der eine Verbindung mit dem HTTP-Protokoll herstellt, stellt immer eine Verbindung zu Portnummer 80 her (sofern der Port nicht auf der Clientseite angegeben wurde http://...:8080/
). DNS wird nicht nach dem SRV-Eintrag abgefragt.
Für Ihren Anwendungsfall können Sie Ihren HTTP-Server (oder einen Reverse-Proxy) so konfigurieren, dass die Verbindung basierend auf dem Host
vom Browser angegebenen HTTP-Header umgeleitet wird . Eine Funktion, die im Allgemeinen als "virtuelle Hosts" bezeichnet wird.
In diesem Szenario überwacht Ihr Server externe Verbindungen an Port 80 und überprüft, welche Adresse der Client anfordert. Wenn dies api.abc.com
der Fall ist, wird die Verbindung an den internen Port 8081 weitergeleitet (der am häufigsten für interne Anschluss konfiguriert ist, z. B. 127.0.0.1:8081), andernfalls würde er den Inhalt Ihrer regulären Website bereitstellen.
Es ist auch für die HTTPS-Verbindungen möglich, wenn der Clientbrowser SNI unterstützt (und die meisten aktuellen Browser dies tun).