先日のエントリー「サーバの引っ越しをしたら予約投稿が出来なくなった件」でお伝えしたように、このブログにメールマガジン機能等、訪問して頂く方とのコミュニケーションを取れるような機能を導入したい。
コミュニケーションを取る為に、メールアドレス等の個人情報も入力して頂きたい。個人情報を Webサイト上で取得する場合には、豊作プロジェクト社の社内規定で SSL(暗合化通信)を導入しなければならない。
その SSL 、スタッフにお願いしてこのサイト「OBRIGADO! ARIGATO!」と「トライアスロンオンライン」に 導入してもらった。
SSLはサーバに負荷がかかるので、必要箇所以外は SSL にしない。って事にするのだが、メールマガジンや投稿時にメールでお知らせの受付フォームをサイドバーに付けたいので、サイト全域でSSL通信にしなければならない。
最近、大手サービスはサイト全域 SSL ってのも増えて来ているので、それでも良いかな。(Google や facebook 等)
よって、全てのアクセスは https:// から始まる物にする必要がある。
この場合、非SSLサイトの画像を直接貼り込んだり、外部サービスのガジェットが SSL に対応していない場合等「SSL対応していない物が含まれます」なんてメッセージを出すブラウザや、アクセスがそもそも出来ないブラウザが存在するので、使えないものがある。ここはそういう物だと認識し、運用する。
次に非SSL通信 でアクセスして来た場合、SSL通信に転送しなければならない(ちょっと難しくて済みません。)
http://〜 でアクセスして来たら https://〜 に転送させる。「s」が付いているか付いていないか?が違いになり「s」が付いていると暗合化通信が行われる。これを実現するには幾つかの方法があるが、今回はこれまでにも使った事のある「WordPress HTTPS」を採用。
プラグインの新規追加で「WordPress HTTPS」を探し、インストールし有効化する。左メニューに「HTTPS」が現れるので、そちらをクリック。設定メニューが現れる。
色々な設定がある。今回は全て SSL にしちゃいたいので、URL Filters の Secure Filters 欄に、「/」とだけ入れる。「/」はそのサイト全部ですよ。って表現。
これを入力して「Save Changes」をクリックすると http://〜 でアクセスして来たら https://〜 に転送される。
この転送も恒久的な転送(ずっとこっちに移りましたよ)って合図の 301 コードを出してくれるので、検索エンジンが http://〜 から https://〜 に移ったんだ。と認識してくれる。
しかし、これだけだとTOP以外に直接アクセスされた時の挙動が怪しい。「.htaccess」に以下を記述しコンテンツに直接アクセスされた場合に備える。
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
これでだいぶいい感じである。
スマホでアクセスをした際、転送時サーバが一瞬もたつく。ここをなんとかしたいな〜と思うが、そのうち http://〜 でアクセスする人がいなくなるのでこれで良しとしようかな・・・
コメント