4,623 views
この記事は最終更新から 2600日 が経過しています。
■SSL証明書を更新
Let’s encryptで発行してもらったSSL証明書の期限は3か月間しかない。
期限が近づいたら以下の手順で更新する必要がある。(CentOS7の場合)
# INSTALLDIR=/opt/letsencrypt # systemctl stop httpd.service # cd $INSTALLDIR # ./letsencrypt-auto renew # systemctl start httpd.service
ここで
Congratulations! Your certificate and chain have been saved at…
と更新成功のうれしいメッセージが表示されたのだが…
■問題発生
しかし、WEBブラウザで該当ページを閲覧すると…
「安全な接続ではありません。」
SEC_ERROR_EXPIRED_CERTIFICATE
と表示されてしまう。
こちらの Let’s encrypt community で似た現象の情報をいろいろと収集する。
https://community.letsencrypt.org/
■原因
SSLの設定ファイルで最新のSSL証明書を参照するように設定していなかった…
/etc/httpd/conf.d/ssl.conf の中を見てみると、以下のようにポイントしている。
: SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert1.pem : SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey1.pem : SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain1.pem :
ところが、更新後は以下のようになっている。
# ls -l /etc/letsencrypt/live/www.mydomain.com total 4 lrwxrwxrwx 1 root root 47 Mar 17 18:29 cert.pem -> ../../archive/www.example.com/cert2.pem lrwxrwxrwx 1 root root 48 Mar 17 18:29 chain.pem -> ../../archive/www.example.com/chain2.pem lrwxrwxrwx 1 root root 52 Mar 17 18:29 fullchain.pem -> ../../archive/www.example.com/fullchain2.pem lrwxrwxrwx 1 root root 50 Mar 17 18:29 privkey.pem -> ../../archive/www.example.com/privkey2.pem
配置する仕様が変わったのか?
各ファイルの実体は archiveディレクトリにあり、liveディレクトリから最新ファイルへシンボリックリンクしている。
と言うことは、ssl.confを以下のように変更する必要がある。
: SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem : SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem : SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem :
以上で解決しました。