さくらインターネットやバリュードメインでサイトをSSL化するときの罠と対処法

  • 投稿日:
  • by
  • カテゴリ:

基本的な流れ

  1. レンタルサーバーの設定で、無料SSLを有効にする
  2. サイトに https:// でアクセスして、ページが表示されることを確認する
  3. ブラウザのアドレス欄にある鍵マークをチェック
    3-1. 鍵マークが緑じゃない:http:// で呼び出されている画像などがないか調べる
    Firefoxであれば、そのページで右クリックから
    「ページ情報」→「メディア」を開き、
    URLがhttpになっているものを調べ、
    http:// を https:// あるいは // に直して3. に戻る
    3-2. 鍵マークが緑:OK
    これを全部のページでやる(ページが多いと死にそうになる)
  4. http でのアクセスを全部 https に自動転送する設定をする
    .htaccess と WordPressの設定ファイル
  5. どこに http でアクセスしても、ちゃんと https に転送され、
    ブラウザの鍵マークは緑であることを確認
    できたら終了

バリュードメイン編

罠1「Main」のサイトはSSLにできない

  • バリュードメインは、サイト設定に「Main」と「Sub」がある
  • なぜか、「Main」に設定したサイトは、「無料SSL」をクリックしてもSSL化できない
  • 私は「Main」に設定してしまっていたので、どハマり
  • 参考にしたサイトは「Main」をblankにしていたので、
    マネしようとしたのだが、新しいコンパネではやり方分からず
  • しょうがないので旧コンパネに切り替えたところ、
    「Main」をblankに、残りをSubにしてSSL化できた!

WordPressの設定変更

.htaccss の自動転送設定

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

これでOKだった。ページのトップのディレクトリに置く

さくらインターネットSSL化の罠

ssl_valuedomain_sakura01.png

http → https 自動転送の設定にクセがある

まず、.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://あなたのサイトのURL/$1 [R=301,L]
</IfModule>## umurausu.info/wp

3行目がポイント。HTTP:X-Sakura-Forwarded-For というのを
使う必要がある

しかも、WordPressの場合、 .htaccess を設定すると、
ページが表示されなくなってしまう!

wp-config.php にも以下を追記する必要があるのだった
(参考:さくらサーバーのWordPress SSL対応でつまづいたリダイレクト問題「このページは動作していません」 | Root-013

if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
    $_SERVER['HTTPS'] = 'on';
    $_ENV['HTTPS'] = 'on';
    $_SERVER['HTTP_HOST'] = 'あなたのサイトのURL';
    $_SERVER['SERVER_NAME'] = 'あなたのサイトのURL';
    $_ENV['HTTP_HOST'] = 'あなたのサイトのURL';
    $_ENV['SERVER_NAME'] = 'あなたのサイトのURL';
}

その他の罠

Amazonアフィリエイトの画像

src="http://ecx.images-amazon.com/images

src="https://images-na.ssl-images-amazon.com/images

に一括置換すればOK**

一括置換は、WordPressは、「Search Regex -- WordPress プラグイン」というプラグインを使う
Movable Typeは、元々ツールに「検索/置換」があるので、これを使う

スタイルシートの呼び出しが http のまま

  • 画像だけチェックしていると見逃す
  • http:// を // にしておくといい

動画の埋め込みが http のまま

  • その部分が空白になって表示されないだけなので、気付きにくい

  • 以上、SSL化の手順と罠、対処法についてメモしてみた
  • ただ、いろいろ罠にはまったりして疲れたので、
    スクリーンキャプチャほとんどなしいう不親切設計
    見にくくてすまぬ
  • SSL化の流れは止められないので、乗るしかない。このビッグウェーブに
  • ということで、諸君らの検討を祈る!