production.log

株式会社リブセンスでエンジニアをやっている星直史のブログです。

EC2上で動作するRails 4系アプリでRapidSSLを使ってhttps設定をするときの手順

ひょんなことからhttps設定することになったので、その手順をメモ書き程度に

1.何はともあれ証明書の購入

購入はどのサイトでも良いけど、自分は↓こちらを使いました。

SSLストア

 

2. CSRを作成

証明書購入をしたら、証明書を有効にするためにCSRという、認証局「このサーバーで使いますよ〜」サーバ証明書を発行するための署名要求」を作成する必要がある。

gist1f560cb75a2535d4a213

 

3.作成したCSRファイルをSSLストアに登録、使用者情報も登録、承認メールを受け取る

↓こんな感じのやつ

gisteb9bcef706b61b87ade1

 

4.受け取った承認メールの承認ボタンを押す

 

5. 承認ボタンを押したら、WEBサーバ証明書が送られてくるので、/usr/local/ssl配下に張り付け。

貼付ける部分は上記gistの通り、

-----BEGIN CERTIFICATE-----から

-----END CERTIFICATE-----まで。

ファイル名は適当で良いが、覚えやすいようにmy.crtとする。

 

6. 中間証明書とクロスルート証明書を合わせたmy.chain.crtを作成

apacheは中間証明書とクロスルート証明書をで良い(らしい)

↓ファイル名は単純にこんな感じで良い

gistf8f1c331c37158739333

 

7.apacheのconfファイルの設定

apachessl用の設定ファイルがあるので、そいつをいじる。

基本はそのままで良いが、いじる部分はVirtualHost内の項目と

先ほど設定した証明書類の置き場所の設定だけ。

/etc/httpd/conf.d/ssl.conf

gistabc12418e7eac2277bf7

 

8.EC2のsecurity groupにhttps(port:443)を追加

 

9. config/application.rbにsslにconfig.force_ssl = trueを追加

 

10.apache再起動

※ここで秘密鍵作成時のパスフレーズを聞かれるので入力。

 

httpの設定は難しいと思ってたけど、案外簡単だった。

スケールアウトして運用している場合の設定まではいきつかなかったけど、まずは単体サーバへの適用は学習できたので、次からはスムーズにいけるはず。

 

参考サイト

http://blog.genies-ag.jp/2011/08/amazon-ec2-amazon-linux-ssl.html

http://valuessl.net/support/etc/rapidsslre_cross/apache1.php

http://d.hatena.ne.jp/willnet/20110524/1306212796