Edited at

Let's Encrypt+NginxでSSL証明書発行、自動更新の設定方法

More than 1 year has passed since last update.


はじめに

Let's Encryptは無料で利用できて商用利用可能な証明書発行サービスです。https化に必要なSSL証明書が無料で発行されるなんて、良い時代になりましたね。

しかし証明書の有効期限は90日なのでその度に、更新作業は面倒なので、自動化してしまいましょう。


導入手順

環境はCentOS、WebサーバはNginxを想定しています。


Lets's Encryptの導入

git clone https://github.com/certbot/certbot ~/

cd ~/certbot
sudo ./certbot-auto --debug

※yumで導入したパッケージが自動でアップデートされるのでご注意ください


SSL証明書発行

sudo ./certbot-auto certonly

指示に従ってすすめていきます。


Webサーバ(Ngninx)の設定


/etc/nginx/nginx.conf

    ssl_certificate      /etc/letsencrypt/live/ドメイン名/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/ドメイン名/privkey.pem;

その他のSSLの設定はお使いの環境に合わせて設定してください。

sudo service nginx restart


cronで自動更新の設定

SSL証明書の有効期限が90日なので自動更新の設定をします。

#毎月1日の1時に強制的に更新をします。

0 1 1 * * root /ホームディレクトリのパス/certbot/certbot-auto renew --force-renewal && service nginx restart

これで設定終了です。簡単なのでサクッとやってしまいましょう。