Amazon Linux2 + Freenom + Let's Encrypt で 無料で HTTPS 化する


Amazon Linux2 + Freenom + Let's Encrypt で 無料で HTTPS 化したので、後で同じ作業を行ったときに困らないときようのためにメモ。
基本は Let's Encrypt の作業をメインに書いていく。

EC2

  • 証明書を発行するための、セキュリティグループ インバウンド 80,443 ポートを開けておく。

Freenom

  • ドメイン名を取得済であり、Aレコードを作成済であること。

Let’s Encrypt

Let’s Encrypt のCertbot クライアントをインストール

$ sudo amazon-linux-extras install epel

certbot、python-certbot-apache のパッケージをインストール

$ sudo yum install certbot python-certbot-apache

ServerNameの編集

httpd.conf
ServerName:www.naata.com

certbotコマンドによるサーバー証明書の取得

$ sudo certbot certonly --webroot -w /var/www/html/ -d www.naata.com
$ sudo ls -l /etc/letsencrypt/live/www.naata.com
total 4
lrwxrwxrwx 1 root root  56 Sep 25 07:50 cert.pem -> ../../archive/www.naata.com
lrwxrwxrwx 1 root root  57 Sep 25 07:50 chain.pem -> ../../archive/www.naata.com
lrwxrwxrwx 1 root root  61 Sep 25 07:50 fullchain.pem -> ../../archive/www.naata.com
lrwxrwxrwx 1 root root  59 Sep 25 07:50 privkey.pem -> ../../archive/www.naata.com
-rw-r--r-- 1 root root 692 Sep 25 07:50 README

httpdの再起動

$ sudo systemctl restart httpd.service
$ sudo systemctl status httpd.service

ssl.confの編集

ssl.conf
SSLCertificateFile /etc/letsencrypt/live//www.naata.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live//www.naata.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live//www.naata.com/chain.pem

動作確認

$ curl -vv https://www.naata.com