もくじ
DNSがまだLet’s Encryptのサーバから読めてない
DNSが他のサーバから読めているか確認してみてください。
standaloneに変更してみる
コンフィグを見てstandaloneに変更する
# vi /etc/letsencrypt/renewal/www.example.com.conf # renew_before_expiry = 30 days version = 1.10.1 archive_dir = /etc/letsencrypt/archive/www.example.com cert = /etc/letsencrypt/live/www.example.com/cert.pem privkey = /etc/letsencrypt/live/www.example.com/privkey.pem chain = /etc/letsencrypt/live/www.example.com/chain.pem fullchain = /etc/letsencrypt/live/www.example.com/fullchain.pem # Options used in the renewal process [renewalparams] account = caea2cc1ea (略) 8362d5 manual_public_ip_logging_ok = None server = https://acme-v02.api.letsencrypt.org/directory - authenticator = webroot + authenticator = standalone // ●standaloneに変更する - webroot_path = /var/www/http01-challenge, - [[webroot_map]] - www.example.com = /var/www/http01-challenge
.拡張子といった.xxxファイルにアクセス拒否設定がある
Nginxコンフィグ内で「deny」で検索してください
#location ~ /\. { deny all; access_log off; log_not_found off; }
もし合ったら#で無効化し、Nginxを再起動してから、
もう一度試してみてください
Nginxの証明書認証ディレクトリに実行権限がない
$ chmod +x /var/www/vhosts/www.example.com/httpdocs/.well-known $ chmod +x /var/www/vhosts/www.example.com/httpdocs/.well-known/acme-challenge
$ touch /var/www/vhosts/www.example.com/httpdocs/.well-known/acme-challenge/test.txt $ echo "test.txt" > /var/www/vhosts/www.example.com/httpdocs/.well-known/acme-challenge/test.txt
http://www.example.com/.well-known/acme-challenge/test.txt
アクセスできるか確認してみてください。
certbot-autoのコマンドを使っている
サポートが切れている
【CentOS7】certbot-auto Your system is not supported by certbot-auto anymore
snapdを利用した更新コマンド
# /var/lib/snapd/snap/bin/certbot renew --force-renewal --nginx --no-self-upgrade --deploy-hook "systemctl restart nginx"
# vi /etc/crontab # Let's Encrypt自動更新 0 4 1 * * root /var/lib/snapd/snap/bin/certbot renew --nginx --no-self-upgrade --deploy-hook "systemctl restart nginx"
# systemctl restart crond