【AWS】CloudFrontでHTTPからHTTPSにリダイレクトされない

事象

Amazon S3 にホストされている静的ウェブサイトをHTTPSで表示するためにAWS CloudFront を使用しています。HTTPサイトとHTTPSサイトが共存すると訪問者にとってわかりにくくなるため、HTTPにアクセスするとHTTPSにリダイレクトするように設定したいと思い、CloudFront コンソールの「ビューワー」の「ビューワープロトコルポリシー」を「Redirect HTTP to HTTPS」に設定しました。

http://s3.ap-northeast-1.amazonaws.com/example.com/index.htmlにアクセスしても、https://s3.ap-northeast-1.amazonaws.com/example.com/index.htmlにリダイレクトされる想定でしたが、リダイレクトされません。。ハマったのでメモしておきます。

原因

Amazon S3のパス形式のURLにてS3バケットにアクセスしていたため。S3のパスに直接アクセスしてしまっていただけでした。。あほみたいな話です。。

解消方法

↓S3のパス形式
https://s3.region-code.amazonaws.com/bucket-name/key-name
↓CloudFrontのパス形式
https://d111111abcdef8.cloudfront.net/index.html

CloudFrontのパス形式のhttpにアクセスしたら、問題なくhttpsにリダイレクトできました。

参考サイト:AWS公式 CloudFront からコンテンツにアクセスする

コメント

タイトルとURLをコピーしました