さくらインターネット上のWPでHTTPSを設定する

さくらインターネットでは無料のSSLが使えます。無料とはいえ一応SSLなんで暗号化してくれます(たぶん)。今回はSSLの設定と一緒にwordpressで特定のページだけHTTPS化する方法をご紹介します。

 

SSLを有効化する

コントロールパネルでドメイン設定を選び、SSLを有効化したいドメインの証明書を登録します。

「登録」をクリックしたら、無料SSLの設定へ進みます。

設定が完了したら、数分~数十分待てばSSL証明書ができます。コーヒーでも飲みながら待ちましょう。

 

wp-config.phpの設定

証明書が発行されたら一度wordpressの固定ページがHTTPSで繋がるか試してみましょう。多分リダイレクトループにはまって表示できないと思います。マジか。

原因はプロキシ。こちらのページに詳しく載っていますが、wp-config.phpで環境変数をしっかり設定してやらないといけないみたいです。マジか。

 

if( isset($_SERVER[‘HTTP_X_SAKURA_FORWARDED_FOR’]) ) {
$_SERVER[‘HTTPS’] = ‘on’;
$_ENV[‘HTTPS’] = ‘on’;
$_SERVER[‘HTTP_HOST’] = ‘www.sample.com’;
$_SERVER[‘SERVER_NAME’] = ‘www.sample.com’;
$_ENV[‘HTTP_HOST’] = ‘www.sample.com’;
$_ENV[‘SERVER_NAME’] = ‘www.sample.com’;
}

 

上記コードをwp-config.phpに追記してやります。ドメインはHTTPSにしたいドメインをちゃんと指定してください。自分の環境(inpos.jp)だったら以下のような記述になります。

 

WPのページをHTTPSにする

これでHTTPSにする下地は整いましたので、特定のページだけ設定するため『WordPress HTTPS』というプラグインをインストール→有効化します。するとサイドバーにHTTPSの設定用タブが増えます。

セッティングは以下の通り。一番上がwp-adminページを常時HTTPSにするためのチェックで、二番目がページごとに設定するかどうかのチェックです。この2つだけチェックを入れてsaveします。他にも設定できる項目がありますがとりあえず無視でいいです。

あとは固定ページの編集画面に下のようなボックスが増えますので、上にチェックを入れて更新すればそのページだけHTTPSになります。

 

SSL化の注意点

ソース上でhttpから始まる絶対パスがある場合(特に画像やスクリプトファイルなど)、完全に保護できてないですぜ的な警告が出る場合があります。直せるものは直した方が安全です。