「いつの間にかSSL証明書が切れていて、Webサイトが『保護されていない通信』と表示されてしまった…」
そんな経験はありませんか?
SSL証明書には必ず有効期限があり、定期的な更新が必要です。
しかし、うっかり更新を忘れると、サイトが信頼されなくなったり、アクセス不能になるリスクが高まります。
この記事では、SSL証明書の期限切れによるトラブルを未然に防ぐために、初心者でも簡単に設定できる通知方法やチェック手段を分かりやすく解説します。
なぜ期限切れが問題なのか?
SSL証明書は、HTTPS通信を実現するための「鍵」の役割を果たします。
これが期限切れになると、以下のような問題が発生します。
主なリスク
| 問題 | 影響 |
|---|---|
| ブラウザで警告表示 | ユーザーの信頼失墜、アクセス減少 |
| API通信がエラーに | 外部サービスとの連携停止 |
| SEOへの悪影響 | Googleが非推奨と判断し検索順位が下がる可能性 |
一度信頼を失ったサイトは、元に戻すまでに時間と労力がかかるため、そもそも「期限切れさせない」運用が最も重要です。
SSL証明書の有効期限の確認方法
まずは、現在使っている証明書の期限がいつまでかを知りましょう。
✅ ブラウザでの確認
- Webサイトにアクセス(例:https://example.com)
- 鍵アイコンをクリック → 「接続が安全」→「証明書を表示」
- 「有効期限」欄で確認可能
✅ コマンドで確認(Linux)
bashecho | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
出力例:
ininotBefore=Apr 1 00:00:00 2024 GMT
notAfter=Jun 30 23:59:59 2024 GMT
通知設定のベストプラクティス
期限切れを防ぐには、「自動で通知が飛ぶ仕組み」を構築することがポイントです。
✅ 1. 無料の外部監視サービスを利用
| サービス名 | 特徴 |
|---|---|
| SSLmate | 残り日数の通知が可能(メール通知) |
| UptimeRobot | HTTPS監視+失効前アラート(無料枠あり) |
| StatusCake | 期限前にSlackやメール通知が可能 |
どれもURLを登録するだけで簡単に開始できるのが魅力です。
✅ 2. サーバー上で定期チェック+通知スクリプト
Linux環境の場合、cronと組み合わせて以下のようなスクリプトを設定できます。
例:Slackに通知するbashスクリプト
bash#!/bin/bash
DOMAIN="example.com"
EXPIRY_DATE=$(echo | openssl s_client -connect $DOMAIN:443 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
EXPIRY_TIMESTAMP=$(date -d "$EXPIRY_DATE" +%s)
NOW=$(date +%s)
DAYS_LEFT=$(( ($EXPIRY_TIMESTAMP - $NOW) / 86400 ))
if [ $DAYS_LEFT -le 14 ]; then
curl -X POST -H 'Content-type: application/json' \
--data "{\"text\":\"🔔 SSL証明書($DOMAIN)が $DAYS_LEFT 日後に期限切れになります。\"}" \
https://hooks.slack.com/services/XXXXX/YYYY/ZZZZ
fi
このスクリプトを cron に登録すれば、毎日自動で確認して通知できます。
✅ 3. Let’s Encrypt の自動更新機能を活用
Let’s Encrypt などの無料SSL証明書は、有効期限が90日と短いため、自動更新設定(cronやsystemd)が推奨されます。
bashsudo certbot renew --dry-run
- 通常、
certbotを使えば自動更新+証明書更新後のWebサーバー再起動が自動化されます。 - 更新エラーの通知だけは外部ツールと併用するのが安心です。
通知設定時の注意点
| ポイント | 解説 |
|---|---|
| 通知間隔を適切に | 毎日 or 残り日数に応じて変更(30日前→週1、14日前→毎日など) |
| 通知先を複数に | 担当者個人メールだけでなく、チームSlackや共通メールに |
| 管理ドメインの棚卸し | サイトごとに通知設定が漏れないようリスト化する |
| 自動更新の成否ログを確認 | certbotの更新失敗に気づかないケースもあるため、ログ監視が重要 |
よくある質問(FAQ)
Q. 有料SSL証明書は自動更新できますか?
→ 一部のベンダーでは自動更新APIを提供していますが、Let’s Encryptほど完全自動ではありません。通知と手動更新の組み合わせが主流です。
Q. 証明書の有効期限は何日が標準?
→ 商用SSLは1年が多く、Let’s Encryptなどの無料SSLは90日です。
Q. 証明書を期限切れさせるとどうなりますか?
→ ブラウザで警告が出て、ユーザーが離脱する可能性が非常に高くなります。
まとめ
SSL証明書の期限切れは、小さなミスが大きな信用問題に発展しかねないリスクです。
しかし、通知設定や自動チェックの仕組みを整えておけば、初心者でも無理なく管理できます。
今日からすぐに始められる無料ツールも多くあります。ぜひご自身のWebサイトで、SSL証明書の期限チェック体制を整え、安心して運営を続けられる環境を構築してください。


















