
TLDR: wenn ich diesen DNS-Eintrag erstelle:
whatever.mydomain.com. IN CNAME biglongjibberstring.r89.cf2.rackcdn.com.
Woher weiß Rackspace, dass dieser zufällig ausgewählte Hostname zu meinem Cloud Files-Container/-Konto und nicht zu dem eines anderen Kunden gehören soll?
Ich habe gerade ein einfaches Beispiel für die Verwendung von Cloud Files mit Rackspace getestet. Ich habe einen Cloud Files-„Container“ erstellt und die Option „Statische Website“ aktiviert. Ich habe ein Beispielbild und eine Beispieldatei „index.html“ hochgeladen. Diese Dateien in diesem Container sind jetzt unter dieser wahnsinnig langen URL verfügbar, die ich laut Benutzeroberfläche als CNAME für meine Domain verwenden kann:
Und tatsächlich: Das Hinzufügen eines CNAME-Eintrags wie folgt:
was auch immer.meinedomain.com. IN CNAME biglongjibberstring.r89.cf2.rackcdn.com.
Durchsuchen nachhttp://wasauchimmer.meinedomain.com/funktioniert (habe die Homepage und das Bild getestet). Aber woher soll es wissen, dass eine Anfrage für „whatever.mydomain.com“ (im HTTP-Host-Header) für meinen speziellen Cloud-Dateicontainer bestimmt ist?
Es scheint etwas mit DNS zu tun zu haben, denn wenn ich einfach „blah.example.com“ in meine Hosts-Datei mit der IP-Adresse einfüge, zu der biglongjibberstring.r89.cf2.rackcdn.com. aufgelöst wird, funktioniert das nicht (gibt einen Fehler über eine ungültige URL aus – scheint von Akamai zu kommen). Ich könnte mir nur vorstellen, dass das funktioniert, wenn die DNS-Suche nach „whatever.mydomain.com“ diese Beziehung zwischen „whatever.mydomain.com“ und „biglongjibberstring.r89.cf2.rackcdn.com.“ irgendwie an die DNS-Server von Rackspace/Akamai zurücksendet. Aber ich habe diesen Ansatz noch nie gesehen und ich glaube nicht einmal, dass die DNS-Suche, die auf Rackspace/Akamai zurückgeht, tatsächlich die dafür erforderlichen Informationen enthält (obwohl ich mich da irren könnte).
Weiß jemand, welche Art schwarzer Magie hier vor sich geht?
Antwort1
Nachdem ich das Verhalten beobachtet habe, ist meine beste Vermutung, was sie vernünftigerweise tun könnten, Folgendes:
Wenn eine HTTP-Anfrage bei einem der CDN-Knoten eintrifft und die Anfrage einen unbekannten Host
Header hat, sucht dieser selbst nach dem Namen im Host
Header.
Wenn sich herausstellt, dass dieser Name CNAME
auf einen bekannten Namen (auf dem Formular <identifyinginformation>.rackcdn.com.
) verweist, verknüpfen sie den Namen aus der Host
Kopfzeile mit der entsprechenden Ressource, andernfalls geben sie einen Fehler zurück.
Das ist spekulativ, aber das ist das, was mir einfällt, was sowohl technisch machbar ist als auch zum beobachteten Verhalten passt. DieDokumentation bei Rackspacegibt nicht an, wie es tatsächlich funktioniert, aber hoffentlich kann ihr Support helfen.
Falls jemand selbst weiter experimentieren möchte, nennt ein Rackspace-Mitarbeiter die URLhttp://124f4d373d9886355285-0dddf6f52a326dca397d3ae1202a22fd.r49.cf2.rackcdn.com/1_logs_dir.pngals Beispiel in den Kommentaren auf der oben verlinkten Dokumentationsseite. Fügen Sie einfach ein CNAME
zum Host-Teil dieser URL hinzu, ändern Sie die URL entsprechend und probieren Sie es aus.