2026年8月18日
2026年8月18日
WordPressのSSLHandshakeFailureエラー解決
はじめに
WordPressサイトでHTTPS通信を行う際、SSLHandshakeFailureエラーが発生することがあります。このエラーはサーバーとクライアント間のTLS/SSL接続確立時に問題が発生していることを示しています。この記事では、その原因や対策を解説し、WordPressサイトで正常にHTTPS通信を行えるように設定する方法をお伝えします。
症状・背景
- SSL証明書の期限切れまたは誤った設定
- サーバー側でのTLS/SSLバージョンの制約
- HTTPリクエスト時に古いTLS/SSLプロトコルを使用している
- パートナー企業やサードパーティ製プラグインとの通信に問題がある
手順・設定方法
ステップ1: SSL証明書の確認と更新
# 現在使用しているSSL証明書情報を取得します。
openssl x509 -in /etc/ssl/certs/example.com.crt -noout -text
# 証明書の期限を確認し、必要に応じて更新を行います。
certbot renew --dry-run
ステップ2: TLS/SSLバージョンの設定変更
# Apacheの場合、TLS/SSLバージョンの設定ファイルを開きます。
vi /etc/apache2/sites-available/default-ssl.conf
# サポートする最低限のTLS/SSLプロトコルを指定します。例えば:
# SSLProtocol TLSv1.2 TLSv1.3
# 設定変更後はApacheを再起動して有効化します。
systemctl restart apache2
ステップ3: プラグインと外部サービスとの通信確認
# WordPressのプラグインの一覧を表示し、疑わしいプラグインを探します。
wp plugin list
# 疑わしいプラグインを一時的に無効化してみます。
wp plugin deactivate wp-some-doubtful-plugin
# HTTPS通信が確立できるか確認します。
curl -I https://example.com
ステップ4: サーバー設定のログチェックとトラブルシュート
# TLS/SSL接続に関するエラーログを確認します。
tail -f /var/log/apache2/error.log | grep SSLHandshakeFailure
# ネットワーク接続や外部サービスとの通信に問題がないか調べます。
nc -zv example.com 443
注意事項
- サイトのSSL証明書は定期的に更新し、期限切れにならないように注意してください。
- 安全性とパフォーマンスを考慮して、最新のTLS/SSLバージョンを使用することを推奨します。
- 必要な外部サービスやプラグインとの通信が問題ないことを確認するため、環境に応じたテストを行うことが重要です。
まとめ
1. 証明書更新: SSL証明書の期限切れを防ぐために定期的にチェックと更新を行います。
2. TLS/SSL設定: 最新かつ安全なプロトコルを使用するようにサーバー設定を調整します。
3. プラグインレビュー: サードパーティ製プラグインが問題ないことを確認するために、定期的なレビューが必要です。
4. ログ監視: エラーログのモニタリングを行い、早期に問題を見つけ出します。
5. ネットワークテスト: 外部サービスとの通信を正常に行えるようにテストを行います。
関連記事: