エラーで表示が崩れるので解消するお話
Mixed Content(混在コンテンツ)
混在コンテンツ - ウェブセキュリティ | MDN
ユーザが HTTPS を通じてページにアクセスすると、ユーザとウェブサーバとの接続は TLS で暗号化され、盗聴や中間者攻撃から保護されます。HTTPS のページの中に通常の平文の HTTP で送られてくるコンテンツが含まれている場合、混在コンテンツと呼ばれます。このようなページは部分的にしか暗号化されておらず、盗聴者...
WordPressの新規立ち上げ時とかによくはまる問題。
何もしないでエラーでないときもあるのですが、SSLの設定の仕方とかでたまに発生しちゃう。。。
httpでの通信はセキュリティ的にリスクが高いので常時SSL化が当たり前になっています。
ブラウザによっては正常に表示してくれない場合もあったり。
Let’s Encryptもいいけど自動更新よくこけるので有償SSLがおススメです。
とりあえず解消させます。
wp-config.php
httpとhttpsが混在してるのですが一つずつ修正は面倒。
何も考えずにとりあえず解消するならwp-config.phpに下記を記述。
$_SERVER['HTTPS']='on'; define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true);
CDNやロードバランサーが絡む場合は下記のように記述するのがよいみたい。
if(!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){ $_SERVER['HTTPS']='on'; } define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true);
んで、NGINXのconfに下記を追記。
proxy_set_header X-Forwarded-Proto https;
無限ループとかではまる場合にも効果的。
コメント