15

カスタムオリジンで CloudFront を使用しており、Web アプリに送信される特定のリクエストを CloudFront にリダイレクトしたいと考えています (クライアントは直接 URL を使用しますが、これは CloudFront ベースの URL に変更できません)。CloudFront のキャッシュが適切に更新されるようにするために、CloudFront 自体からのリクエストをリダイレクトしてはなりません。オリジンサーバーでそのようなリクエストを識別する方法はありますか?

CloudFront はオリジンサーバーに送信されるリクエストにカスタムヘッダーを追加しますか? または、リクエストが CloudFront からのものであることを確認する信頼できる方法は他にありますか?

4

5 に答える 5

13

はい、ユーザーエージェントをチェックすることで、クラウドフロントからオリジンサーバーに送信されるリクエストを識別できます。ユーザーエージェントは「Amazon CloudFront」になります

于 2012-12-06T20:06:29.470 に答える
11

アップデート

Avinash Bijjaは、HTTP User-agentヘッダーがAmazonCloudFrontサーバーからのリクエストに対して「AmazonCloudFront」になることを正しく指摘しました(+1) 。残念ながら、これは実際には明示的に文書化されていないようですが、それぞれのフォーラムのさまざまな投稿によって暗黙的に承認されています。たとえば、ユーザーエージェント文字列に対するAWSチームの応答を参照してください-CFはユーザーエージェント文字列を上書きしますか?

あなたは正しいです。User-Agentフィールドには、常に「AmazonCloudFront」と入力されます。

ただし、これは現在完全に信頼できるものではないことがわかりました。CloudFrontが空のUser-Agentをオリジンに送信する場合、元のクライアントリクエストに空のUser-Agentがすでにない場合は次のようになります。

元のクライアントがUser-Agentを送信しない場合、CloudFrontがUser-Agentをオリジンに送信していないことを確認できます。バックログでのユーザーエージェント処理の機能強化と修正がありますが、現時点ではリリース日はありません。詳細を記載したPMをお送りしました。

これらの機能強化と修正は、少なくとも2013年2月7日の時点では、まだ展開されていないようです。

これらの機能強化と修正は、2013年8月5日に公開されました(更新してくれたwebbiedaveに感謝します!)。


最初の回答

CloudFrontは、オリジンサーバーに送信されるリクエストにカスタムヘッダーを追加しますか?

確かにそう思うかもしれませんが、少なくとも、CloudFrontがリクエストを処理してカスタムオリジンサーバーに転送する方法など、私が期待していた場所には文書化されていないようです。オリジンサーバーを制御している場合は、HTTPアクセスログを確認するだけでよいでしょうか。

または、リクエストがCloudFrontから来ていることを確認する他の信頼できる方法はありますか?

信頼性は自分で判断する必要がありますが、CloudFrontがオリジンサーバーに転送するIPアドレスは、エンドユーザーのコンピューターのIPアドレスではなく、CloudFrontサーバーのIPアドレスです。-その結果、公開されたAmazonCloudFrontパブリックIP範囲へのアクセスを制限できます。ただし、それぞれの免責事項に注意してください。

CloudFront IPアドレスは頻繁に変更されるため、変更の事前通知を保証することはできません。最善を尽くして、現在の住所のリストを提供します。お客様は、これらのアドレスをミッションクリティカルなアプリケーションに使用したり、DNS名にハードコーディングしたりしないでください。[強調鉱山]

したがって、このフォーラム/投稿を監視して、それぞれの変更にできるだけ早く気付く必要があります(もちろん、この制約がユースケースに受け入れられる場合)。

于 2012-11-25T11:59:27.837 に答える
2

CloudFront はX-Amz-Cf-Id、オリジンに転送する前にすべてのリクエストにヘッダーを追加しているようです。少なくとも、それは現在私のためにそれをやっています。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-headers-behavior

于 2016-05-25T15:41:50.027 に答える