くりゅぴ!

サーバーやWEB問題解決のメモから生活お得情報まで。未分類のものは執筆中

CloudFlareのFlexibleでSSLするとぶっ壊れる

CloudFlare、SSLがなくてもCloudFlareを利用すればSSLができる。
SSL証明書をサーバーにインストールせずともSSLがかかっているように見せる事ができる。

それがFlexibleの力。

しかし、落とし穴がある。
FlexbleはイメージとしてはCloudFlareが上からかぶせているサイトをSSLにするって事。
元々のサイトは暗号化されていないページ。そのデータをCloudFlareがラップしている感じ。

中では暗号化されていないデータがやり取りされている。
つまりは80番ポートで通信されており、443ポートは利用されてないって事。

$_SERVER[‘HTTPS’] を利用すると、0が
$_SERVER[‘SERVER_PORT’]を利用すれば80を返すわけだ。

WordPressなどのCMSはこのサーバー変数を利用してSSL、つまりhttpsアドレスと判断をしている場合がある。

なので表ではhttpsサイトに見えても裏側の処理はhttpとして処理されているといったこともある。

なのでFlexibleは使わずにFullを利用したほうがいい。

どうしてもWordPressでFlexibleを利用したいならwp-config.phpの最後に

if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
$_SERVER['HTTPS']='on';
}

WEB開発

タグ: ,

WEB開発の最新記事

2020年7月13日
印刷時改ページをする
2020年7月10日
PHPのJsを外部ドメインより呼び出す
2020年7月10日
ブラウザにキャッシュさせない

コメントを残す

メールアドレスが公開されることはありません。