Let's Encryptとは
実施内容
- このサイトはApache2.4系、ロードバランサー(ELB)なし、1台のサーバー(Amazon EC2)でホストしています。
- これのサイトを上記のLet's Encryptで発行したSSL証明書でHTTPS通信(暗号化通信)します。
- 基本的には https://letsencrypt.jp/usage/ の手順どおりですが、この環境に適用した際の手順メモです。
手順
gitインストール
- 既にインストールされていましたが、下記でインストールできるはずです。
# yum install git
Let's Encrypt クライアントダウンロード
# git clone https://github.com/letsencrypt/letsencrypt
クライアントテスト実行
- AmazonEC2の場合は --debug オプションをつけるように指示されます。
- letsencrypt-autoを実行すると、不足パッケージなどを自動的にインストールしてくれます。いきなりアクションせず、--helpコマンドで様子を見る感じです。
# cd letsencrypt
# ./letsencrypt-auto --debug --help
Apache停止
- 証明書取得時に80番ポートで通信を受けられるようにする必要があります。
- この環境ではWEBサーバーが動作しており、当然80番ポートを使っているので停止します。
# /etc/init.d/httpd stop
証明書取得(初回)
- ドメイン名は各環境に合わせることになります
- コマンド実行するとTUI(文字でGUI風なインターフェイスの画面)画面に切り替わります。
# ./letsencrypt-auto certonly -a standalone -d dondari.com -d www.dondari.com
メールアドレスの入力
利用規約への同意
(80番ポートが使用中の場合のエラー)
- クライアントが80番ポートを使えない場合はこのエラー画面で終了します。
- 終了後、80番ポートを使っているアプリ(通常はWEBサーバーでしょう)を終了し、再度コマンドを実行します。
完了
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/dondari.com/fullchain.pem. Your cert will
expire on 2016-08-05. To obtain a new version of the certificate in
the future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
証明書ファイルは /etc/letsencrypt/live/dondari.com/fullchain.pem に保存されました。
2016-08-15に失効します。今後証明書を更新するには、コマンド実行してください。
- ファイルの確認。ファイルの実体は /etc/letsencrypt/archive/ に作成されて、liveディレクトリの中はシンボリックリンクになるようです。(証明書を再取得したときはリンク先が変わるとのこと)
# ls -l /etc/letsencrypt/live/dondari.com/
cert.pem -> ../../archive/dondari.com/cert1.pem
chain.pem -> ../../archive/dondari.com/chain1.pem
fullchain.pem -> ../../archive/dondari.com/fullchain1.pem
privkey.pem -> ../../archive/dondari.com/privkey1.pem
Apache再開
- WEBサーバーを停止していたので再開させておきます。
# /etc/init.d/httpd start
Apacheの設定
# httpd -v
Server version: Apache/2.4.18 (Amazon)
Server built: Mar 7 2016 22:32:11
SSLCertificateFile /etc/letsencrypt/live/dondari.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dondari.com/privkey.pem
# /etc/init.d/httpd restart