Route53 の AWS S3 リダイレクトが HTTPS で機能しない 質問する

Route53 の AWS S3 リダイレクトが HTTPS で機能しない 質問する

AWS S3静的ウェブサイトリダイレクトを使用して、Apexドメイン(example.com)から参考文献ドメイン。

私は以下のガイドを使用しましたhttps://medium.com/faun/redirect-naked-domain-to-www-with-https-on-aws-route-53-e620e4ce989d

Route53でapexドメインのAレコードを作成しましたexample.com

example.com    A    Simple   s3-website-eu-west-1.amazonaws.com.

私のウェブサイトを配信するクラウドフロントディストリビューションを指しますwww.example.domain。クラウドフロントドメインはすべてのHTTPトラフィックをHTTPSにリダイレクトします。

www.example.com   A    Simple    *************.cloudfront.net.

S3では、バケットを作成しexample.com、すべてのリクエストをリダイレクトするように設定しました[example.com s3 バケットのリダイレクトルールバケットはパブリックで空です

結果として、HTTPでは動作しますが、HTTPSではタイムアウトします。

http://example.com -> https://www.example.com
https://example.com -> ETIMEDOUT
http://www.example.com -> https://www.example.com
https://www.example.com -> https://www.example.com

この設定を修正するにはどうすればいいでしょうかhttps://example.com -> https://www.example.com

ベストアンサー1

問題の説明

したがって、理想的には、次のすべてが機能することを望みます。

1) https://example.com     → https://www.example.com   (naked to www)
2) http://www.example.com  → https://www.example.com   (http to https)
3) http://example.com      → https://www.example.com   (naked http to www https)
4) https://www.example.com → �� actually show the content as the canonical URL! ��

上記の要件3は、以下のように分類できることに注意してください。2つのステップこれは、#1 と #2 の組み合わせになります。

3B) http://example.com → http://www.example.com → https://www.example.com

これらはすべてHTTP 301 永続リダイレクトです。

要件

したがって、ここでは 3 つの部分が必要です。

  1. URLリダイレクトexample.com → www.example.com
  2. [HTTPSサポート]アンSSL証明書www だけでなくネイキッド サブドメインもカバーします (Certification Manager では 2 つを 1 つにまとめることができます)
  3. [HTTPSサポート]プロトコルリダイレクトhttp:// → https://

解決

このソリューションには、AWS の多くの部分が必要ですが、すべて無料です (または追加コストなし)。

ステップ1) S3にURLリダイレクトを作成する

S3静的ホスティングウェブサイトを作成し、リダイレクトする参考文献ここに画像の説明を入力してください

ノート:

  1. 公開アクセス可能であることを確認してください。
  2. URL が機能し、そこにアクセスすると実際にリダイレクトされるかどうかをテストします。(または、ターミナルで を使用してテストしますcurl -v)
  3. 必ず完全なURLをテストしてください地域を含む(つまり.s3-website-us-west-2.amazonaws.com

ステップ2) 証明書マネージャーでネイキッドドメインのSSL証明書を作成する

へ移動https://us-west-2.console.aws.amazon.com/acm/home?region=us-west-2#/(リージョンを希望のものに変更してください)、パブリック証明書をリクエストします。 と の両方を必ず入力してくださいexample.com。Route www.example.com53 で検証します。

ステップ3) CloudFrontでプロトコルリダイレクトを作成する

CloudFrontにアクセスしてディストリビューションを作成します視聴者プロトコルポリシー「Http => HTTPS リダイレクト」であり、そのオリジンは上記の S3 バケットの完全な URL です。

ここに画像の説明を入力してください

ノート:

  1. S3 を直接指定しないでください。S3 バケットの静的 Web サイトの完全な URL を指定します。
  2. キャッシュ ポリシーは「キャッシュなし」にすることができます。
  3. 代替ドメイン名は example.com にし、ステップ 2 の SSL 証明書を入力する必要があります。
  4. 「Origins」タブで、S3 の完全な URL パスを指していることを確認します。

ステップ4) Route53にDNSレコードを設定する

A最後に、route53 DNS レコードに移動し、ステップ 3 の CloudFront ディストリビューションへのレコードとしてネイキッド ドメインをポイントするようにします。次のようになりますd21k2s1234123.cloudfront.net

ここに画像の説明を入力してください

じゃーん!

おすすめ記事