Pleskでhttpをhttpsにリダイレクトして完全SSL化する方法(nginx)

2015年3月30日
Webサイトの設定

WebサイトをSSL化する動きが活発になっていますね。

SEOにも影響するWebページ全体HTTPS化(常時SSL)の効果と実装のポイント | 【レポート】Web担当者Forumミーティング 2014 Autumn | Web担当者Forum

SEOにも効果があるということで、ECやお問い合わせフォームだけの個別ページだけでなく、サイト全体をSSL化させる方法が推奨されています。
 

HTTPのページをサーバー側でHTTPSにリダイレクトする

今回の方法は、SSLを導入した後、今までのデフォルトページ https://◯◯◯◯.com をサーバー側で自動的に、https://◯◯◯◯.com にする方法です。これを使えば、例えば、https://◯◯◯◯.com/aiueo.html がリンクされていてページを開いたとしても、https://◯◯◯◯.com/aiueo.html が表示してくれるわけです。http: と https が混合しなくなるので、ウェブマスターツール的(サイトマップ的にも)理想な状態ですね。

導入する前に、確認する事項が2つあります。まず1つ目は、SSLの導入です。

SSL暗号化認証を導入しよう|Plesk入門・運用情報サイトぷれつく

SSLが入っていないと、閲覧者側で例外設定を行わなくてはならないため先に導入しておきましょう。年額2000円程度なので、これでSEOにも効果があるのならやって損は無いはず。

次に、サイト全体ではなく、個別ページのみSSL化する方法ですが、

Nginxのエラーページやリライト設定|Plesk入門・運用情報サイトぷれつく

こちらから、リライト(rewrite)する方法がありますので、特定のページのみSSL化する場合は参考にして下さい。

コントロールパネル上で設定が可能!リダイレクトループに気を付ける

Pleskにログインし、SSLを導入したドメインを選択しホスティング設定 > SSLサポートにチェックを入れて証明書を選択してください。

security.png

次に、ウェブサーバ設定にして、nginx の追加ディレクティブを選択します。

nginx追加ディレクティブ.png

ここに、リダイレクトの設定を記述する必要になるのですが、Pleskは特殊で、下記のサイトを参考にして記述を行うとリダイレクトエラーが発生します。

HowTo: Nginx Redirect All HTTP Request To HTTPS Rewrite Rules

rewrite ^ https://$server_name$request_uri? permanent;

Pleskではないサーバーだとすんなり導入できるのですが、Pleskのみリダイレクトエラーが発生してしまいます。僕自身もかなりハマってしまいました。では、どうすればいいのかというと、特にSSHを開かずに追加ディレクティブに

 

if ($server_port = 80) {
rewrite ^ https://$host$request_uri permanent;
}

上記を記述することで、エラーも出来ずにhttps 化することができます。設定完了後は

nginx再設定.png

サービスの再起動を必ず行いましょう。


※ 追記、301リダイレクトの注意点やアドセンス収益について記事を書きました。リスクなど考えて導入を検討してください。必見です。
サイトを完全SSL化する前に気をつけたい収益やリダイレクトの話|Plesk入門・サーバー運用サイトぷれつく


 


新着・更新情報
ブログ/お知らせ
Pleskについて
Pleskの便利な機能
Pleskを導入しよう
DNSを理解しよう
Webサイトの設定
サイトをチェックしよう
ターミナルを使おう
メールの設定をしよう
データベースを使おう

Moveble Typeの導入

便利な機能、テクニック

インフォメーション


Pletkの管理人ことすしぱくです。PAKUTASO/ぱくたそ無料写真サイトなんかを運営しています。