Googleカレンダー集計サービスStackerProのSSL化をするためにLet'sEncryptでSSL証明書を設定してみました。
今まではSakuraInternerで RapidSSL DV証明書を取得していましたが、サーバー側でCSRを生成したり、Certificateを生成したり、結合したりが結構ややこしいし面倒なので、今回はcertbotを使用してSSL証明書を設定してみます。
certbotを使用すると、無料でLet'sEncryptのSSL証明書が発行できる上、Nginxの設定も書き換えてくれるという素敵な代物です。
概念的には下記の画像のようになります。
手順
今回公式ではなく別のサイトの手順を参考に実施しました。
1. 必要なパッケージのインストール
certbotをインストールしていきます。
sudo apt install certbot python3-certbot-nginx
2. Nginx周りの設定確認
StackerProの場合は、/etc/nginx/conf.d/stackerpro
にサイトの設定を入れていました。
ドメイン名の指定がなされていることを確認します。
server_name stacker.work www.stacker.work;
3. Firewallの設定確認
443番ポートが空いていることを確認します。
$ sudo ufw status
Status: active
To Action From
-- ------ ----
443 ALLOW Anywhere
443 (v6) ALLOW Anywhere (v6)
4. 証明書の取得
sudo certbot --nginx -d stacker.work -d www.stacker.work
これを実施すると、Nginxの設定に以下の内容が書き込まれます。
人生楽ですね。
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/stacker.work/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/stacker.work/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
server {
if ($host = stacker.work) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name stacker.work;
return 404; # managed by Certbot
}
5. 自動更新タスク
勝手にプロセスが動作しており、自動更新を行なってくれます。
sudo systemctl status certbot.timer
dry-run
で更新が正常に行えるかを事前にチェックできます。
sudo certbot renew --dry-run
以上の手順でSSL化を実現できました。
StackerProのSSL化
Googleカレンダー集計サービスStackerProのSSL化を実施しました。
StackerProを使うと、Googleカレンダーに記録したイベントの集計が簡単にできます。
私自身は毎日の稼働をGoogleカレンダーに記録しておき、月末の請求書を作成する際にStackerProを使用して集計しています。
無料で使えるのでぜひ!