SSL証明書の期限切れは、ユーザーがサイトにアクセスできない、もしくは強い警告を見て離脱してしまう深刻な問題です。同時に検索順位への影響もあります。原因と対処を整理します。
期限切れの典型原因は3つです。Let's Encrypt の自動更新(certbot renew)が何らかの理由で止まっている。有償SSL(GeoTrust、DigiCertなど)の契約更新を忘れた。サーバの設定変更で、証明書ファイルのパスが変わった。
Let's Encrypt の自動更新が止まる典型的な理由は、SSL更新時のドメイン認証(HTTP-01チャレンジ)が通らなくなったケース。例えば、.htaccess のリダイレクト設定で /.well-known/acme-challenge/ へのアクセスがリダイレクトされてしまうと、認証ファイルが取得できず、更新に失敗します。Nginx の設定でも同様の問題が起きます。
対処手順。まず手動で certbot renew --force-renewal を実行し、エラーメッセージを取得します。エラーから原因を特定(DNS問題なのか、認証経路問題なのか、サーバ側設定問題なのか)。原因が分かれば修正は数分です。その後、cron や systemd timer での自動更新を再設定します。
有償SSLの場合は、認証局のサイトから更新申請を行います。期限切れから時間が経っていても再発行は可能なケースが多いです。
レンタルサーバ(Xserver等)の場合は、サーバパネルから「無料SSL設定」を有効化すれば、自動的に Let's Encrypt が設定されます。期限管理もサーバ会社が行ってくれるため、最も簡単です。
期限切れの典型原因は3つです。Let's Encrypt の自動更新(certbot renew)が何らかの理由で止まっている。有償SSL(GeoTrust、DigiCertなど)の契約更新を忘れた。サーバの設定変更で、証明書ファイルのパスが変わった。
Let's Encrypt の自動更新が止まる典型的な理由は、SSL更新時のドメイン認証(HTTP-01チャレンジ)が通らなくなったケース。例えば、.htaccess のリダイレクト設定で /.well-known/acme-challenge/ へのアクセスがリダイレクトされてしまうと、認証ファイルが取得できず、更新に失敗します。Nginx の設定でも同様の問題が起きます。
対処手順。まず手動で certbot renew --force-renewal を実行し、エラーメッセージを取得します。エラーから原因を特定(DNS問題なのか、認証経路問題なのか、サーバ側設定問題なのか)。原因が分かれば修正は数分です。その後、cron や systemd timer での自動更新を再設定します。
有償SSLの場合は、認証局のサイトから更新申請を行います。期限切れから時間が経っていても再発行は可能なケースが多いです。
レンタルサーバ(Xserver等)の場合は、サーバパネルから「無料SSL設定」を有効化すれば、自動的に Let's Encrypt が設定されます。期限管理もサーバ会社が行ってくれるため、最も簡単です。
初動チェックリスト
- 1.ブラウザで証明書の有効期限を確認
- 2.certbot renew --force-renewal を実行してエラー確認
- 3./.well-known/acme-challenge/ へのリダイレクト設定を確認
- 4.サーバパネルから無料SSL設定が使えるか確認
- 5.証明書ファイルのパーミッション・パスを確認
この症状でお困りなら、まず無料相談
60分無料相談を予約