Wie erstelle ich eine Subdomain, die auf eine andere Portnummer verweist?

4405
Dany

In meinem Anwendungsfall möchte ich eine Subdomäne mit der IP-Adresse der Hauptdomäne, jedoch mit anderer Portnummer, erstellen. Zum Beispiel:

Ich habe die Hauptdomain als abc.comHinweis auf192.168.1.1

@ 192.168.1.1 

Ich möchte gerne eine Subdomain mit Port 8081 erstellen (siehe unten).

api.abc.com 192.168.1.1:8081 

Aber es sieht so aus, als wäre es nicht möglich. Also habe ich versucht, einen SRV-Datensatz mit den folgenden Informationen zu erstellen:

Name: api Target: api.abc.com Protocol: _http Service: _http Priority: 5 Weight: 5 Port: 8081 TTL: 1 hour 

Das hat aber nicht geholfen. Gibt es eine Möglichkeit, dies zu erreichen? Ich verwende Godaddy, um meine Domains zu verwalten.

Könnte mir jemand dabei helfen?

0
Sie sollten über VirtualHosts lesen. Der DNS-Eintrag der Unterdomäne sollte auf die externe IP-Adresse Ihres Servers verweisen (und keine Portnummer enthalten). Alex vor 7 Jahren 0
Vielleicht kann dir das helfen: ServerAdmin me@mydomain.com Servername dev.mydomain.com ProxyPreserveHost Bei # den Proxy einrichten Auftrag erlauben, von allen Erlauben verweigern ProxyPass / http: // localhost: 8888 / ProxyPassReverse / http: // localhost: 8888 / - Entschuldigung, dass ich den Beitrag nicht bearbeitet habe - ich versuche immer noch, wie ich das auf meinem Handy erledigen kann. Alex vor 7 Jahren 0

1 Antwort auf die Frage

6
techraf

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 Hostvom 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.comder 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).