No.178
【AWS】S3のコンテンツへSSLでアクセスする
S3に置いた画像をhttpsでアクセスしたい
コンテンツ・ストレージサーバーとして有名なAWSのS3、開発者なら日常的に接している方も多いだろう。
S3上のコンテンツにアクセスする際には当然http通信でアクセスするのだが、SSLのページだと当然https通信でアクセスしたくなる。
例えば、Chromeはhttpアクセスのパーツがあると保護されたページと表示してくれない。これは見た目上よろしくない、などという場合だ。
ところがURLのhttp
をhttps
に変えただけではエラー(タイムアウト)になってしまう。
これはS3の仕様なのでしょうがないのだが、知らないと嵌まること請け合いなので、説明用のコピペがてらメモしておく。
https時のURL
https通信時のURLは以下となる。他にもパターンがあるけど、シンプルなのでこれを覚えておけば事足りるはずだ。
https://s3-リージョン名.amazonaws.com/バケット名/フォルダ名/ファイル名
東京リージョンでバケット名backet
、フォルダ名folder
、ファイル名file.jpg
の場合は以下となる。
https://s3-ap-northeast-1.amazonaws.com/backet/folder/file.jpg
S3のプロパティで見たときのhttps通信時のURLが
http://バケット名.s3-website-リージョン名.amazonaws.com/フォルダ名/ファイル名
となっているので、これを元に変更すればOK。