WordPressでhttpとhttpsが混在するコンテンツをどうするかの話

2020年5月8日WordPressSSL,upgrade-insecure-requests,WordPress,混在

当ブログはわりとどうでもいい好きにできるサイトなので、HTTP2対応の際に全部SSL化してしまいましたが

よそ様のWordPressをどうするかは悩ましいところ。

もうね、説明しても理解される事は稀だろうし。

サイトを二つ用意してやって、両方メンテする?

リバースプロキシで何とかする?

なんて迷ってましたら、よさげな指針を発見。

Content-Security-Policy: upgrade-insecure-requests

ヘッダにこれを追加してやるだけ。

WEBサーバーがnginxだったらヴァーチャルホストのSSL設定したserverセクションに

server {
	add_header Content-Security-Policy upgrade-insecure-requests;
		:
		:

とか書いてやるだけ。

W3Cでなんか書いてありますが

まぁ真面目に読むのもまた今度。

要するに混在コンテンツはダメだけど、修正大変だからセキュリティポリシーを宣言すれば全部SSLとして扱いますよという魔法のヘッダ。

比較的新しい対応ブラウザならいちいちコンテンツのURL記述を書き換える事なく、バーチャルホストだけで非SSLとオールSSLが両立出来てしまうという。

結果、アドレス横の  が簡単に取れて緑色になってくれるという。

一部、プロトコル無しのSVG画像とかで何やら警告が出ますが、対応ブラウザは既にわりと広まっている様子。

「この感じならあと数年で100%近くなるでしょ。」

「1,2年に一回くらいはスマホとか買い換えるでしょ」

とか説明すればいいや的な。

楽ちんで助かります。