ここで参照されているオブジェクトを使用して、S3に301リダイレクトを設定しようとしていますhttp://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.htmlいくつか問題があり、何が間違っているのか分からないようです。
「Web サイトのリダイレクト場所」メタデータ値が設定されていないかのように、空白のページ (0 バイトのファイル) が表示されます。
何が間違っているのでしょうか?
また、これは AWS CloudFront でも機能しますか?
S3 コンソールのセットアップ
注意すべき点がいくつかあります:
静的サイトをホストするためにこの設定をしています。自分の証明書をアップロードして CloudFront ディストリビューションに設定し、SSL/https を使用しています。リダイレクト オブジェクトを除くすべてのページが機能しているようです。ルーティング ルールを設定しようとしましたが、CloudFront では機能していないようです。
私はクラウドフロントURLとS3 URLの両方を介してリダイレクトにアクセスしようとしています(詳しくはこちら{バケット}/ユーザー/サインイン)
ベストアンサー1
リダイレクト、HTML エラー メッセージ、インデックス ドキュメントなど、S3 の Web サイトのような機能については、 Web サイトのエンドポイント ( ) によってのみ提供されるため、 REST エンドポイント (${bucket_name}.s3.amazonaws.com
または)は使用できません。${bucket_name}.s3.${region}.amazonaws.com
${bucket_name}.s3-website.${region}.amazonaws.com
http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html
Cloudfront でこの動作を使用できるようにするには、コンソールのオートコンプリートで提供される REST エンドポイントではなく、このエンドポイントを使用するように Cloudfront を構成する必要があります。
バケットのAmazon S3静的ウェブサイトホスティングエンドポイントを入力します。この値はAmazon S3コンソールのプロパティページの下部静的ウェブサイトホスティング。
この形式でバケット名を指定すると、Amazon S3 リダイレクトと Amazon S3 カスタムエラードキュメントを使用できます。
Web エンドポイントは HTTPS をサポートしていませんが、クライアント接続が HTTPS であっても、HTTP を使用してバケットから取得するように Cloudfront を構成できることに注意してください。
役立つヒント: CloudFront で変更をトラブルシューティングしてテストする場合、変更を加えた時点から CloudFront が新しい動作を示し始めるまでの「遅延」にユーザーは困惑することがよくあります。エラーページの場合、CloudFront にはデフォルトで 5 分間隔があります。 エラー キャッシュの最小 TTL これは、失敗したページのリクエストをオリジンに再送信するのを防ぐもので、これはキャッシュ動作で設定された最小/デフォルト/最大TTLとは別のタイマーです。特にテスト時には、これらのタイマーを無効にして、エラーを返したページの後続の各リクエストで再試行を強制することをお勧めします。これは、明らかなエラーに関する質問への回答で示した手順で行うことができます。Amazon CloudFront のレイテンシー。