No.178


【AWS】S3のコンテンツへSSLでアクセスする

S3に置いた画像をhttpsでアクセスしたい

 コンテンツ・ストレージサーバーとして有名なAWSのS3、開発者なら日常的に接している方も多いだろう。

 S3上のコンテンツにアクセスする際には当然http通信でアクセスするのだが、SSLのページだと当然https通信でアクセスしたくなる。
 例えば、Chromeはhttpアクセスのパーツがあると保護されたページと表示してくれない。これは見た目上よろしくない、などという場合だ。

 ところがURLのhttphttpsに変えただけではエラー(タイムアウト)になってしまう。
 これは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。