CloudFlare Flexible SSLのデメリット
CloudFlare Flexible SSLで常時SSL化から丸1ヶ月以上経ちました。
無料でSSL化出来るなんて素敵!と思って浮かれていましたら、思わぬ落とし穴がありました。
訳あってSiteGuard WP Pluginをアンインストール、再インストールした時のことです。画像認証と更新通知が有効に出来ないことに気が付きました。そしてWordPressの擬似cron機能であるwp-cron.phpが実行出来ず、予約投稿に失敗することに気が付きました。12月2日以降、WP-DBManagerでMySQL DBの自動バックアップが止まっていたことに1ヶ月以上気が付きませんでした(汗)
こうなったのもCloudFlare Flexible SSLで常時SSL化してからです。原因はそれしか思い当たりません。
実際にWordPress内部からwp_remote_post関数を使ってwp-cron.phpを呼ぶとどうなるか?以下のPHPコードを仕込んでみました。
var_dump( wp_remote_post('https://206rc.net/wp-cron.php') );
結果は左の画像の通り、WP_Errorとなっています。
エラーの中身は”error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error”で、ググッていくとhttps site(SSL Site) connectivity issues while add site/reload data for the siteに辿り着きました。
この情報が正しければ契約しているサーバのcURLのバージョンが古いためにエラーとなっているようです(CloudFlareのSSLがSNIであることも原因なようです)。確かにcURLのバージョンはphpinfo関数で見たら7.39よりも古かったです。原因がわかったところで簡単には解決できません。それは条件を満たすOpenSSLとcURLがインストールされているサーバに乗り換えるしか手段が無いからです。
さて、どうしたものか。今のサーバ、支払い方法が面倒なこと以外は特に不満はないのですが。