新着情報

さくらインターネット ラピッドSSL・WordPressで困ったこと

さくらインターネット ラピッドSSL・Wordpressで困ったこと

サイトのSSL化をしていて困ったことがありましたので備忘録も含めて記載します。

まずは設定の確認、ご依頼元の環境は下記でした。
※もちろん作業前にデータベースとファイルについてはバックアップを実施

・さくらインターネット(レンタルサーバー)
・ラピッドSSL
・Wordpress(4.4.2)

さくらインターネットのコントロールパネルよりラピッドSSLの申込に進んで、SSL設定。
※ちなみに、さくらインターネットのスタッフさん曰く「コントロールパネルからSSL申込を進めたほうが流れがスムーズ」だそうです。

「ドメイン設定」の「ドメイン一覧」より該当ドメインのSSL証明書「登録」を選択、CRSを設定してドメインを申込します。
続いて、「ドメイン設定」の「変更」をクリック、「 4. SSLの利用を選んでください」の「SNI SSLを利用する」のラジオボタンを選択して送信。

続いてWordpressの「設定」→「一般」より「WordPress アドレス (URL)」と「サイトアドレス (URL)」をhttpからhttpsに変更。

無事終了…かと思いきやクロームに鍵マークが出ない…
「サイトの識別情報」はOKなのに、「接続情報」が黒に黄色の三角マーク…

サイトへの接続は暗号化されていますが、Google Chrome ではこのサイトのページに迷惑コンテンツ(画像、広告など)があることが検出されました。このページでは個人情報などの重要な情報を入力しないようにしてください。

とのことなので、ソースコードを見てみるとwp headで吐き出されるURLがhttp、しかも固定ページ・投稿で利用している画像もすべてhttp…
いわゆる「SSL混在コンテンツ」を指摘する注意だったんですね。

で色々調べた結果さくらインターネットヘルプに下記の文言がありました。

「さくらのレンタルサーバ」にて提供しているウェブサーバApacheは、 80番ポートを使用する(HTTP)ものと、 443番ポートを使用する(HTTPS)ものとの 2種類に分けられます。 また、後者についてはプロクシとして動作します。 一般的に、前者は「http://」、後者は「https://」という形式でアクセスしますが、 同じディレクトリへのアクセスであっても、その際に呼び出されるウェブサーバ が異なると、 CGIプログラムやウェブサーバが.htaccessなどのファイルを読み込む際、挙動に違いが生じます。 例えば、HTTPとしてアクセスした場合はお手元のコンピュータが、 HTTPSとしてアクセスした場合は サーバそのものがアクセス元となります。 このため、SSLのみのアクセス許可(HTTPアクセスの制限)や、mod_rewriteによるURLの書き換えはできません。

うーん、更に調べて下記コードをwp configに追加しました。

if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
    $_SERVER['HTTPS'] = 'on';
    $_ENV['HTTPS'] = 'on';
}

でやっと解決しました。
無事にcssやscriptの読み込みがhttpsに!

そもそも全ページSSLにする必要があったのか無かったのかはさておき、
同じような環境で設定する方は参考にしてください。

ちなみに、固定ページ・投稿ページに設定した画像はすべて手動で変更しました…

関連記事一覧

2017年11月
« 10月    
 12345
6789101112
13141516171819
20212223242526
27282930  
PAGE TOP