2016-04-18 16 views
0

Ich habe einige REST-Dienste mit einer IP + Port-Adresse zur Verfügung. Jetzt möchte ich einen DNS-Eintrag konfigurieren, um ihn über meine Domain verfügbar zu haben. Ich habe eine maskierte Weiterleitung versucht, aber sobald ich es getan habe, kann ich nicht auf die REST-Dienste unter Verwendung der umadressierten Adresse zurückgreifen. Welche Art von DNS-Eintrag sollte ich verwenden?Welchen DNS-Typ sollte ich verwenden, um meine REST-Dienste über meine Domain verfügbar zu machen?

Antwort

1

DNS funktioniert nur auf der Ebene der IP-Adresse, seine einzige Sorge ist die Zuordnung von Domainnamen zu IP-Adressen, es gibt keine Möglichkeit, eine Portnummer anzugeben.

Wenn Sie einen Server bei 12.34.56.78 haben, können Sie einen A-Eintrag verwenden, um darauf zu zeigen. Es gibt keine Möglichkeit, einen Port in DNS anzugeben. SRV-Datensätze zu verwenden, um anzugeben, Portnummern, es wurde schließlich aufwärmen gelassen und wurde nie erneuert

Herausgegeben

Während RFC 2782 A DNS RR for specifying the location of services (DNS SRV) tut bietet eine Methode hinzuzufügen.

Speziell der Vorschlag wurde abgelehnt, weil er zu viele Dinge in der HTTP-Schicht brechen könnte.

Ein message wurde auf den IETF-Foren veröffentlicht, in denen die Entscheidung erläutert wurde.

ich vorschlagen, aber nach langen Diskussionen in der Mail-Liste Ich habe verstanden, dass DNS-SRV in WS-Clients Mandatierung brechen würde zu viele Annahmen in HTTP-Welt (die über HTTP-Schicht häufig sehen nur und nicht unten).

Die Existenz von HTTP-Proxies ist auch ein großes Handicap, da diese Proxies sollten, um ein Upgrade/modifiziert werden, um DNS-SRV Auflösung nur bei der HTTP-Anforderung ist ein WebSocket-Handshake durchführt. Dieses letzte Argument reicht aus, um die SRV-Auflösung nicht zu bestimmen.

(von einem anderen answer kopiert)

+0

Das ist eigentlich falsch. Siehe die andere Antwort. SRV-Datensätze verwenden sicher Ports. Ob es praktisch oder nützlich ist, ist eine andere Sache. – Evert

+0

@Evert Ich habe die Antwort geändert –

+0

@ MichaelB-AzureMVP Es ist nicht RFC 2782 abgelaufen, aber ein Vorschlag (in der Tat zwei), um 'SRV' Datensätze zu HTTP einzuführen. Diese Bemühungen wurden aufgrund der in Ihrer zitierten Nachricht genannten Probleme abgebrochen. 'SRV'-Platten selbst sind jedoch ziemlich lebendig. Z.B. SIP- und Jabber/XMPP-Dienste verwenden sie. – DaSourcerer

1

Es ist eigentlich ein Mechanismus DNS Service Discovery ursprünglich angegeben in RFC 2052 (veraltet durch RFC 2782) genannt. Dies ermöglicht die automatische Erkennung von Diensten durch spezielle DNS-Einträge SRV (Typ 33), die Ports und Gewichtungen (d. H. Präferenzen) für benannte Dienste angeben. Es gab someconsiderations, die dies auf HTTP-URIs ausdehnten, aber die entsprechenden Entwürfe konnten schließlich ablaufen, bevor sie den RFC-Status erreichen konnten. Einige der Gründe werden in section 2 der letzteren erwähnt.

Während SRV Datensätze aktive Verwendung in other protocols sehen, ist die HTTP-Client-Unterstützung dafür quite rare. Wenn Sie also Ihren Service über einen dedizierten, nicht standardmäßigen Port bereitstellen möchten, sollten Sie ihn am besten in der URL angeben, die in angegeben ist.

Verwandte Themen