さくらのレンサバで無料SSL証明書を利用してSSL化

2021-06-28

さくらインターネットのレンタルサーバで、無料SSL証明書「Let’s Encrypt」でSSL化

先日のニュースリリースで「さくらのレンタルサーバ/マネージドサーバ」 無料SSL証明書「Let’s Encrypt」簡単設定機能の提供開始のお知らせ」無料SSL証明書「Let’s Encrypt」を利用する事ができたので、さくらのレンサバを利用しているサーバをSSL化してみました。

さくらのレンサバ独自の環境変数あるらしく少し手間取りましたのでSSL化する方法を紹介します

httpからhttpsに.htaccessを使ってリダイレクトさせてSSL化する

SSL化の方法は、「.htaccess」を利用して、「http」からのアクセスを「https」にリダイレクトすることにします。
通常では、以下の記述で「.htaccess」を作成するとSSLにリダイレクトされますが、さくらのレンサバだと駄目でした

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

.htaccessを有効にするとトップページはアクセスできましたが、下位のページでは下記のように「ページの自動転送設定が正しくありません」とエラーとなります

さくらのレンサバで、htaccessを使ってSSL(https)にリダイレクトさせる

さくらのレンサバでは環境変数ように、下記の設定を追加すればOKでした。

RewriteCond %{ENV:HTTPS} !^on$
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$

上記の項目を追加して「.htaccess」を作成すれば、httpからのアクセスをhttpsにリダイレクトする事が可能でした

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:HTTPS} !^on$
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>