web-dev-qa-db-ja.com

S3、Cloudfront、およびネイキッドドメインを使用するRoute 53を使用してHTTPをHTTPSにリダイレクトする方法

SSLをサポートするドメイン(example.com)があります。 www.example.com-> https://example.comからリクエストをリダイレクトしようとすると問題が発生します。

Www.example.comにアクセスしようとすると表示されるエラーは次のとおりです。

要求を満たせませんでした。

要求の形式が正しくありません。

これらのURLは機能します(https://example.comにリダイレクト)

  • example.com
  • http://example.com
  • https://example.com

http://www.example.comは、Webサイトが安全でないこと、つまり証明書を使用しないことを示します。


S

2つのS3バケットexample.comとwww.example.com(それぞれAとB)を作成しました。バケットAの静的ウェブサイトホスティングにより、example.comを指すウェブサイトホスティングが可能になりました。 Bucket BのStatic Website Hostingは、すべてのリクエストをexample.comにリダイレクトしています。


Cloudfront

Example.comとwww.example.comの2つの代替ドメイン名(CNAME)を持つディストリビューションがあります。私もこのdistにSSL証明書を持っています。


ルート5

Cloudfrontのディストリビューション(XX.cloudfront.net)を指す2つのAタイプエイリアス、example.comおよびwww.example.comを持つホストゾーンがあります。

25
thisismytemp

Cloudfrontでコンテンツを配布する必要があります。したがって、S3バケットのコンテンツは、提供される前にCloudfrontを通過します。実行方法に関する情報は、ここで見つけることができます: Amazon S3でのCloudFrontの使用

次に、2番目の部分ですべてのデータをhttpsで提供するには、次の手順を実行します。CloudFront>ディストリビューション>動作タブに移動し、リストの最初の要素を選択して、[編集]をクリックします。その後、httpをhttpsにリダイレクトするオプションが表示されるはずです。

enter image description here

50
Tiberiu Maxim

SSLエンドポイントがうまく機能していることに驚かされます。適切なセットアップは、s3バケットで静的なWebサイトホスティングを無効にし、それらへのすべてのトラフィックがCloudfrontを通過するようにすることだと理解しているためです。 Cloudfront Originを設定してOrigin Protocol Policy設定。

Cloudfront-to-s3構成をセットアップする場合: http://docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html

S3をCloudfrontのみがアクセスできるように制限する場合: http://docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html

5
rumdrums