AWS EC2にLet’s Encrypt を導入してみる。

数日間のイベントのために簡易的ではあるけどhttps化したいという要望が出たのでLets’ Encriptを利用してHttps化してみました。その手順をまとめましたので是非参考にしてみてください。

スポンサードリンク

セキュリティグループの設定

セキュリティグループのインバウンドのHTTPS(443)を許可する。(参考サイト参照)

certbotインストール

Certbotは無料かつ自動でSSL証明書を発行できるツールで、CSRとKEYファイルの作成からWebサーバーの設定まで自動で行ってくれます。

 curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
 chmod 700 /usr/bin/certbot-auto

証明書の発行

sudo certbot-auto certonly --webroot -w /var/www/html -d hogehoge.net --email test@hogehoge.net --debug

-d はドメイン
–email は連絡先

【注意】
構築の際に参考にしたサイトでは「–debug」不要と記載があるが、付与しないと実行できない。(2019.1.31 現在)
–debug なしで実行すると以下のメッセージが表示された。

FATAL: Amazon Linux support is very experimental at present…
if you would like to work on improving it, please ensure you have backups
and then run this script again with the –debug flag!
Alternatively, you can install OS dependencies yourself and run this script

以下の場所に証明書が作成されている(確認用コマンド)

sudo ls -la /etc/letsencrypt/live/hogehoge.net

SSL.comf に証明書のパスを追加

sudo vi /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/letsencrypt/live/hogehoge.net/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hogehoge.net/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/hogehoge.net/chain.pem

パスを追加したらApacheの再起動

sudo service httpd restart

ここでキーファイルがない、または空だとエラーがでた場合は権限を変えてみる。

sudo chmod 600 /etc/letsencrypt/archive/hogehoge.net/cert1.pem 
sudo chmod 600 /etc/letsencrypt/archive/hogehoge.net/chain1.pem 
sudo chmod 600 /etc/letsencrypt/archive/hogehoge.net/privkey1.pem 
sudo chmod 600 /etc/letsencrypt/archive/hogehoge.net/fullchain1.pem

SSLのキーファイルはApacheユーザー以外が見える権限だとダメなことがあるみたい。

スポンサーリンク
スポンサーリンク


スポンサーリンク


シェアする

  • このエントリーをはてなブックマークに追加

フォローする