Rackspace の「Cloud Files」はどのようにして私の CNAME レコードを認識するのでしょうか?

Rackspace の「Cloud Files」はどのようにして私の CNAME レコードを認識するのでしょうか?

TLDR: この DNS レコードを作成すると:

whatever.mydomain.com.  IN CNAME biglongjibberstring.r89.cf2.rackcdn.com.

Rackspace は、私が選択したこのランダムなホスト名が、他の顧客ではなく私の Cloud Files コンテナ/アカウントに送信される必要があることをどのようにして知るのでしょうか?


Rackspace で Cloud Files を使用する簡単な例をテストしました。Cloud Files の「コンテナ」を作成し、「静的 Web サイト」オプションを有効にしました。サンプル画像とサンプル index.html ファイルをアップロードしました。このコンテナ内のこれらのファイルは、この非常に長い URL で利用できるようになりました。UI では、この URL を自分のドメインの CNAME として使用できることが示されています。

クラウドファイルコンテナの設定

そして確かに、次のような CNAME レコードを追加します。

whatever.mydomain.com。IN CNAME biglongjibberstring.r89.cf2.rackcdn.com。

閲覧中http://whatever.mydomain.com/動作します (ホームページと画像をテストしました)。しかし、HTTP ホスト ヘッダーで "whatever.mydomain.com" のリクエストを見たときに、それが特定のクラウド ファイル コンテナーを対象としていることをどのようにして知ることができるのでしょうか。

これは DNS と関係があるようです。なぜなら、biglongjibberstring.r89.cf2.rackcdn.com. が解決される IP アドレスを持つ「blah.example.com」をホスト ファイルに入力しただけでは機能しないからです (無効な URL に関するエラーが発生します。Akamai から来ているようです)。これが機能する可能性がある唯一の方法は、whatever.mydomain.com の DNS ルックアップが何らかの方法で Rackspace/Akamai DNS サーバーに「whatever.mydomain.com」と「biglongjibberstring.r89.cf2.rackcdn.com.」の関係を返送している場合です。しかし、私はこのアプローチを見たことはありませんし、Rackspace/Akamai に戻る DNS ルックアップに実際にこれに必要な情報が含まれているとは思いません (間違っている可能性もありますが)。

ここでどんな黒魔術が行われているのか知っている人はいますか?

答え1

彼らの行動を観察した後、彼らが合理的に行っていると考えられる最善の行動は次の通りです。

HTTP リクエストが CDN ノードの 1 つに到着し、そのリクエストに不明なHostヘッダーがある場合、そのノードはヘッダー内の名前を検索しますHost

CNAMEこの名前が(フォーム上の) 既知の名前を参照していることが判明した場合、ヘッダー<identifyinginformation>.rackcdn.com.の名前をHost適切なリソースに関連付け、そうでない場合はエラーを返します。


これは推測ですが、技術的に実行可能なことと観察された動作に合致するものとして私が思いつくのはこれです。Rackspace のドキュメント実際にどのように動作するかは明記されていませんが、彼らのサポートが役立つことを願っています。

自分でさらに実験したい人は、Rackspaceの従業員がURLを教えてくれますhttp://124f4d373d9886355285-0dddf6f52a326dca397d3ae1202a22fd.r49.cf2.rackcdn.com/1_logs_dir.png上記のリンク先のドキュメント ページのコメントに例があります。URLCNAMEのホスト部分に を追加し、それに応じて URL を変更して試してみてください。

関連情報