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?
Welchen DNS-Typ sollte ich verwenden, um meine REST-Dienste über meine Domain verfügbar zu machen?
Antwort
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)
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.
- 1. Welche Tools sollte ich verwenden, um meine Website zu erstellen?
- 2. Sollte ich Schnittstellen für meine Entitäten machen?
- 3. Welchen Fehlerwert sollte ich verwenden?
- 4. Welchen azure Service sollte ich für meine node.js App wählen?
- 5. Welchen Datentyp sollte ich verwenden, um Geldwerte zu speichern?
- 6. Um meine Website sicherer zu machen, verwende ich password_hash korrekt?
- 7. AS3: Welchen resolvePath soll ich für meine AIR-Anwendung verwenden?
- 8. Welchen ANSI-Code sollte ich verwenden, um Text gedämpft (dunkelgrau) zu machen?
- 9. Ich versuche, meine Teilarbeit zu machen
- 10. Wie kann ich camanjs für meine wix-Anwendung verwenden, um Cross-Domain-Probleme zu umgehen?
- 11. Welchen Wortstammer sollte ich in nltk verwenden?
- 12. Spam wird über meine Domain gesendet. Was kann ich tun?
- 13. Versuche, meine eigenen RxJs beobachtbar zu machen
- 14. Welche Art von Schemacode sollte ich für meine Site verwenden?
- 15. Sollte ich meine DLLs signieren?
- 16. Welchen Windows SVN Server sollte ich verwenden?
- 17. Kann ich meine eigene Domain mit c9.io verwenden?
- 18. Meine App nur für meinen Kunden verfügbar machen
- 19. Welche Methode sollte ich verwenden, um meine Java-GUI zu erstellen?
- 20. Sollte ich meine RPC-Aufrufe über HTTP RESTify?
- 21. Verwenden von API, um interne REST-Dienste verfügbar zu machen
- 22. Wie kann ich meine ImageView zoombar machen?
- 23. Sollte meine Sitzungsklasse statisch sein?
- 24. Sollte ich für meine GUI-App "ganz" Async verwenden?
- 25. Kann ich Joomla!/WordPress verwenden, um meine Website zu erstellen?
- 26. Kann ich main() verwenden, um meine Anwendung neu zu starten?
- 27. Kann ich svchost.exe verwenden, um meine eigenen Dienste zu hosten?
- 28. Soll ich Curl verwenden, um meine eigene API zu konsumieren?
- 29. Wo sollte ich meine Testwerte aufbewahren?
- 30. Welche SRID sollte ich für meine Anwendung verwenden und wie?
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
@Evert Ich habe die Antwort geändert –
@ 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