共用SSL利用時にhttpをhttpsにリダイレクトさせる方法

Events happening in the community are now at Drupal community events on www.drupal.org.
kenppx's picture

Drupal 7.28でさくらインターネットのマネージドサーバーを利用して
サイト全体をSSL化しようと試みています。

ディレクトリはwwwディレクトリ下にdrupalフォルダを作ってそこにDrupalを設置しております。

www/drupal

さくらが提供する共用SSLを以下の通りに設定して使用しています。
【初期ドメインで利用する場合】と同じ設定を行いました。
http://support.sakura.ad.jp/manual/rs/web/ssl_shared.html

URLはサーバーから割り当てられた初期ドメインを利用しています。
今回は独自ドメインで運用は行いません。そのためurlは以下のようになっています。
http://hogehoge.sakura.ne.jp/drupal

これをさくらの設定に基いてSSLの設定を行った所、正常にhttpsで接続ができています。
https://hogehoge.sakura.ne.jp/drupal

今はhttpとhttpsどちらにも接続できる状態になっております。
これをhttpに接続時にhttpsにリダイレクトする方法がありましたら
教えていただけないでしょうか?

Drupal以前の問題の様な気もしていまして、こちらでお聞きするのが
非常に恐縮なのですがよろしくお願いします。

Comments

Drupalでやるなら Secure Pages[1]

blauerberg's picture

Drupalでやるなら Secure Pages[1] モジュールを入れれば実現できます。

デフォルトでは /user* や /admin* など特定のパスのみhttpsにリダイレクトするはずなので、
全URL(*) をリダイレクトするようにSecure Pagesの設定を少し変更する必要はあります。

DrupalではなくHTTPサーバの層でもリダイレクトできるのですが、
マネージドサーバーでそこまでいじれるのかは分かりません..

Secure Pagesモジュールですか!

kenppx's picture

blauerberg様

Secure Pagesモジュール一応チェックはしてみたのですが部分的なssl化の際に使うものと
ばかり思っていました。全URLを設定してしまえば確かに可能ですね。
試してみます。大変参考になりました。ありがとうございます。

qchan's picture

さくらインターネットさんでサブドメインまでカバーするワイルドカードSSL証明書を
買っていて、一つのマネージド専用サーバーに1サブドメイン+1SSLを割り当てて
くれているということでしょうか。
共用サーバーの共有SSLでDrupalを動かすのは難しいですが、これならわかります。

blauerberg さんのやりかたが一番いいと思いますね。
部分的なSSL化はモジュールを使わないと大変めんどくさいです。

一方通行のリダイレクトなら.htaccess に下のように書いてもいけるかもしれません。
.htaccessに何が指定できるかはApacheの設定にもよるので、
使えるかどうかはわかりませんが、参考にしてください。

RedirectMatch permanent ^(.*)$ https://{your domain}$1
kenppx's picture

qchan様

さくらインターネットさんでサブドメインまでカバーするワイルドカードSSL証明書を
買っていて、一つのマネージド専用サーバーに1サブドメイン+1SSLを割り当てて
くれているということでしょうか。

おそらくそうだと思います。
共用サーバーの共有SSLでDrupalを動かすのは大変なんですね。
とても勉強になります。サーバー周りの知識が疎いのでDrupal上の事なのか
サーバー上の事なのかの判断がつかなかったのでとても参考になりました。

blauerberg様のモジュールを使用した方法とqchan様のhtaccessを利用した方法の
両方を試してみようと思います。
わかりやすいご説明ありがとうございます。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: