DebianにLet's EncryptでSSLを導入する(Apache2.4)

2017年05月14日

apacheの場合はこちらDebianにLet's EncryptでSSLを導入する(Apache2.4)

確認した環境:

Debian 9.3
(Stretch)nginx/1.14.0
certbot 0.28.0

Certbot クライアントをインストールする

$ sudo apt-get update
$ sudo apt-get install certbot

Certbotを実行

$ certbot certonly --webroot -w /var/www/www.mywebsite.jp/ -d www.mywebsite.jp

-wにドキュメントルート、-dにドメイン名

そのあとに、証明書更新のおしらせ送信先メールアドレスを指定

nginx設定

一緒にリダイレクト設定も行う

server {
    listen 80;
    server_name _;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2;
    server_name _;
    root   /home/enotiru/www/;
    index  index.php index.html index.htm;

    ssl_certificate /etc/letsencrypt/live/www.mywebsite.jp/fullchain.pem;
    ssl_certificate_k/etc/letsencrypt/live/www.mywebsite.jp/privkey.pem;
}

証明書更新を自動化

let’s encryptの証明書の期限が3ヶ月であり、

$ certbot renew

のコマンドをひとつ叩けば、証明書が更新されるが、面倒くさいので

$ sudo crontab -e

30 2 * * 0 /usr/bin/certbot renew --pre-hook ”systemctl restart apache2.service”

毎週日曜日の午前2時30分に証明書を更新。
などと設定することで更新が自動化できる。