AWSにSSL証明書を登録したりした
AWSはすごいのでロードバランサー*1に証明書を登録できる。ロードバランサーまではSSLで、そこからアプリケーションサーバはHTTPで通信する。物理的なサーバ構成だと、これまでは各HTTPサーバ(Apache/ngnix)に証明書を登録していたかもしれないが、それが必要なくなる。ELB配下でSSLを終端、httpはhttpsにリダイレクトする。いろいろ調べたので次の人のポインターになればと思い、リンクを張る。
適当な説明図
文言には特に意味はない
ELBへの証明書登録
証明書を購入したら、CRT(公開鍵)と中間証明書が多分必要になる。
norinoritakanori.blog90.fc2.com
あと、パスフレーズは解除しとかないといけない。
biibiebisuke.hatenablog.com
あとは上述のリンクにあるように、これらの証明書をELBのWEB画面で登録するだけだ。
WEBから登録できないとき
httpからhttpsへのリダイレクト
さて、ELBに証明書を登録するとサーバはHTTPsで通信できるようになる。しかし、安全を期するためにHTTPアクセスをHTTPSにリダイレクトしたい。この処理のキモはELBのヘルスチェックとngnixのhttp_x_forwarded_protoという変数の存在を知っておくことだ。
Amazon Certificate Manager
AWS側の証明書発行システムが米国東部 (バージニア北部)のリージョンのみで使用できそうだ。これを使うとDVレベルの証明書の発行がたぶん無料。
qiita.com
Let's encrypt
あとはご存知Let's Encryptが使えると思うけど未調査。
*1:Elastic Load Balancing
ロードバランサーを起点にしてリクエストを振り分けられるよ!振り分け先はクラウドだからいくらでも作れるよ(金があるかぎり)!