さくらインターネットでSSL化に失敗した話

スポンサーリンク

ヘテムルからエックスサーバーに引越しをしてSSL化をする件については、順調に進んだのですが、さくらインターネットで運用しているサイトのSSL化を図りました。

結果は → → → 失敗でした。

備忘録として顛末を記録しておこうと思います。

SSL化を試みたサイトの構造

index
├sample1 (HTML)
├sample2 (HTML)
├sample3 (HTML)
┕blog (WordPress)

ルートディレクトリはHTMLで構成し「blog」ディレクトリにWordPressをインストールしたサイトです。

SSL証明書は ラピッドSSL RSでした。

SSL化までの手順をふり返る

さくらインターネットのサーバーは少し他のサーバーと違っています。
他のサーバーと言ってもこれまで利用した(利用中も含め)サーバーは

  • ロリポップ
  • ヘテムル
  • ファーストサーバー
  • さくらインターネット
  • エックスサーバー

これだけですが、さくら以外はあまり使っていて戸惑いは無く使えました。
さくらインターネットは『なんか違うな~』と思いながらも、今年で10年目になります。
SSL化が言われ出して、ここで運用しているサイトもどうしようかと思っていたのですが、ラピッドSSLなら安いのでSSL化を図ることにして早速手続きしました。

SSL証明書をゲットするまで

ドメインのレジストラもさくらインターネットなので、コントロールパネルからの手続で簡単に取得できました。
支払いをクレジットカードで行うと証明書の発行までわずか1時間30分という早さです。

その後のSSLの利用もコントロールパネルのボタン一つで即OKでした。

WordPressのブログでつまずく

HTMLサイトはまったく問題ないのですが、WordPressでつまずくことになりました。
「htaccess」ファイルをサーバーにアップしなければならないことは当然です。
「301ダイレクト」で http://からhttps:// へのURL変換と、WordPressのパーマリンク設定の「htaccess」ファイルです。

一般的には

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.sample.com/blog/$1 [R=301,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress

をWordPressディレクトリにアップすると言われています。

しかしブログが表示されません。

ブログの「一般設定」で http://からhttps:// へ変更してもダメです。

ググってみるとさくらインターネットの場合は

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sample.com$ [OR,NC]
RewriteCond %{HTTP:X-Sakura-Forwaded-For} ^$
RewriteRule ^(.*)$ https://www.sample.com/blog/$1 [R=301,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress

とし、更に「config.php」の先頭に

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

を追加すると良いとのこと。

しかし結果は駄目ということで、まったく訳がわからないお手上げ状態となりました。

エックスサーバーに引越し中です

もっと時間をかけて調べると答えが見つかるのかも知れませんが、そんなことに時間をかけているのももったいないので、エックスサーバーに引越してSSL化することにしました。

サーバー仕様は時間と共に変わるので、現在有効な情報が見つかるといいのですが、どなたか最近さくらインターネットでSSL化を行った方がいらしたらご連絡をお願いします。

コメント