WordPress:安全な接続を確立できませんでした。

少し前から気になっていた WordPress モジュールアップデート時のワーニングメッセージ。

いつ頃からか、WordPress の更新を行うと次のようなメッセージが画面下に表示されるようになってました。

メンテナンスモードを無効にします…

Warning: 不明なエラーが発生しました。WordPress.org またはこのサーバーの設定に何か問題が起きている可能性があります。
問題が解決しない場合はサポートフォーラムに投稿してみてください。 (WordPress は WordPress.org との安全な接続を確立
できませんでした。サーバー管理者にご連絡ください) in 
/lifewithunix/notes/wp-includes/update.php on line 320

エラーではなくてワーニングなので対策は行っておらず放置状態ですがいつまで経ってもアップデートごとに出続ける。WordPress は4.7系を使っています。

とりあえず、update.php の320行目を見てみると上記のワーニングメッセージと合致するスクリプトが見つかり、ここで予定外の結果が返されたのだろうと推測は出来ます。

        if ( $ssl && is_wp_error( $raw_response ) ) {
                trigger_error(
                        sprintf(
                                /* translators: %s: support forums URL */
                                __( 'An unexpected error occurred. Something may be wrong with WordPress.org or 
this server’s configuration. If you continue to have problems, please try the support forums.' ),
                                __( 'https://wordpress.org/support/' )
                        ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Plea
se contact your server administrator.)' ),
                        headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE
                );

そもそも、このメッセージを出す意味ある?
WordPress のモジュールをanonymousダウンロードするのにSSLを使う意味ある?

元々誰でもダウンロードして使えるツールとして公開されているファイルです。それを通信経路上暗号化するって通信パフォーマンスが落ちるだけじゃない!

近頃何でもかんでもSSL化してあるので、通信パケットが無駄に増えて困ります。

SSL のメリットは、ダウンロードコンテンツとアクセスパスの暗号化と、正しいサーバーと通信している証明の大きく分けて二つ。

非公開サイトや自分専用サイトをアクセスする場合や、オンラインショッピングで個人情報を入力する場合には、HTTPS を使う事は理にかなっています。

しかし、公開サイトをアクセスするのにダウンロードしているURLを隠す意味があるのは、仕事中にゲームサイトやエロサイトをアクセスしていることを、会社のネットワーク管理者に隠したい場合くらいでしょう。URLさえ指定すれば誰でも得ることが出来るファイルですよ。ダウンロードファイルサイズが増え、復号化に無駄なCPUタイムを使うだけ。

もう一つは、接続ユーザーに対して正式なコンテンツ提供サイトだと証明するため。
正式なWordPressダウンロードサイトからダウンロードしています と証明しているわけですけど、WordPress.org が提供した古いバージョンソフトが自分サイトをアクセスしている訳でしょ。確かに、ユーザー側のDNSが乗っ取られて、WordPress.orgに見せかけた別サイトからダウンロードしようとさせている可能性もありますけど、その証明、必要?
SSL接続できなくて、そこで更新を停止するならわかりますけど、結局HTTPで更新プログラムをダウンロードしているじゃない。

ソースの中のキーワード(update.php wordpress ssl is_wp_error raw_response)を検索してみると、

http://webtechinnovation.blogspot.jp/2015/02/wordpresswarning-wordpressorg.html

に調査した方の記録が見つかりました。PHPのバージョンに関係があるという情報なのですが、私はPHP5.6 を使用しているので、発生条件が違うのかも知れません。この方の結論も「放置」となっていました。

私の言い分は、WordPressやモジュールダウンロードにHTTPSは不要だって事。

コメントを残す