WordPressの本体やプラグインを長い間更新していないサイトにて、
WordPressの管理画面から更新しようとしたところ、次のようなエラーが表示され、更新できないことがありました。
1 2 3 |
cURL error 60: SSL certificate problem: unable to get local issuer certificate |
初めて遭遇したエラーで少し手間取ったため、調査した内容と解決方法をこちらで共有します。
経緯・原因
今回の「cURL error 60」が発生したサイトでは本体やプラグインの更新が長らくされておらず、久しぶりのアップデートという状況でした。
エラーメッセージを見てみると、SSLに関係するエラーのようで、調べてみるとWordPress本体にCA証明書が格納されておりそれが古かった、ということが分かりました。以下が対象ファイルです。
/wp-includes/certificates/ca-bundle.crt
実は、WordPressの本体やプラグインの更新時には、api.wordpress.org などの外部サーバーにアクセスし上記のCA証明書ファイルを通してアクセスしようとしているウェブサーバーが信頼できるか否かを確認しています。
今回は、ウェブサーバーのSSL証明書は更新されていたのですが、サーバー上のWordPressフォルダ内に格納されている上記のCA証明書が古かったため新しい証明書を認識できず、通信が拒否され、結果としてアップデートができませんでした。
解決方法
外部サーバーのSSL証明書と互換性を保つため、サイトのサーバーにおいてあるCA証明書を最新のものに差し替えることで解決いたしました。
/wp-includes/certificates/ca-bundle.crt を以下のURLからダウンロードして、差し替えを行います。
https://raw.githubusercontent.com/WordPress/WordPress/master/wp-includes/certificates/ca-bundle.crt
参考サイト : https://etbs.jp/blog/http-request-faile-curl-error-60/
まとめ
WordPressの本体やプラグインを長い間更新していないサイトでは、今回のような「cURL error 60」が発生する可能性があります。
サイト作成後は定期的な本体・プラグインの更新や保守作業を行うことが重要です。
定期的な更新を行うことで、
-
セキュリティの脆弱性を防ぎ安全性を高められる
-
最新機能や改善されたものを利用できる
-
不具合やエラーを未然に防ぎ、安定した運用につながる
といったメリットがあります。
BRISKでは、保守・運用サポートのサービスも提供していますので是非ご検討ください。