Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

mod_rewriteを使って、特定のファイルをSSLアクセスにする@Apache with RHEL5

      2013/07/15

TracやWikiなどのWebアプリケーションを使ってて、普段は通常のhttpアクセスを行い、ログイン部分だけは暗号化のためにhttpsにリダイレクトしたい場合があります。

まず、特定のファイルなどをSSL以外でアクセスさせないようにするには、httpd.confで以下のように設定します。ここでは/home/mazn/public_html/hogeをSSL限定にしてみます。

<Directory "/home/mazn/public_html/hoge">
   SSLRequireSSL
</Directory>

直接httpsでアクセスすれば、もちろんアクセスできるのですが、Webアプリの場合ソースの改変が必要だったりするので、httpでアクセスがきた場合はmod_rewriteでhttpsに書き換えてあげます。ここでは/hoe/login へのアクセスをhttpsにしています。

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteRule ^/hoge/login(.*)$  https://%{HTTP_HOST}/hoge/login [R=301,L]
</IfModule>

RewriteRule で書き換えのルールを指定します。”^”と”$”でマッチさせるルールの初めと最後を指定します。(.*)はloginに続く任意の文字列を意味しています。末尾の[]はオプションでRはリダイレクトで、HTTPレスポンスとして301(=Moved Permanently)を返します。Lは条件にマッチした場合そこで次のルールを評価しないという意味です。

リダイレクト後のloginにリダイレクト前の(.*)にマッチした部分を追加するには、\1を使います。

   RewriteRule ^/hoge/login(.*)$  https://%{HTTP_HOST}/hoge/login\\1 [R=301,L]

参考 : mod_rewriteリファレンス

 - IT技術, サーバ構築 , , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
VNCで日本語入力@CentOS5

CentOSでvncserverを起動した場合、デフォルトでは日本語が入力できま …

no image
VMWare Server 2.0のディスクイメージを1.0で使う

VMWare Server 2.0がリリースされて随分たちましたが、2.0系のデ …

no image
フォルダオプションを設定する@Windows 7

Windows 7のエクスプローラーも今までのバージョンのWindowsと同様、 …

no image
フルスクリーン時に日本語入力ツールバーが邪魔@Ubuntu 9.04

scim+anthy で日本語入力していましたが、動画を見るときにフルスクリーン …

no image
お使いの端末はこのアイテムに対応していません@Android Market

Android Market が最近アップデートされて、見た目ががらりと変わりま …

no image
スピーカーのアイコンに×がつく@Windows 7

Windows 7を起動すると、音声は問題なく出ているのに、タスクトレイにあるス …

no image
firefox アドオン セカンドサーチが動作しない@Firefox 3

いつ頃からかFirefoxのアドオン、セカンドサーチが機能しなくなってしまいまし …

no image
vimでシンタックスハイライトの関連づけ拡張子を追加する@CentOS 5.3

vimで.shの拡張子を開くと、シェルの構文がハイライトされるし、.c を開けば …

no image
Wireless Tetherで無線LANが繋がらない原因@Galaxy S + Windows 7

Galaxy S + Wireless Tether を使ってテザリングをしよう …

no image
電車の運行情報をチェックしてメール送信をするシェルスクリプト@bash

電車の遅延や事故などの運行情報を公開しているサイトがありますが、使用している路線 …