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
ログの転送@Cisco 2960

Ciscoのスイッチでログの転送(syslog)をする設定の覚え書き。syslo …

no image
google analyticsのリアルタイム表示を使ってみた

google アナリティクスが、リアルタイム表示に対応したようです。 申し込めば …

no image
PXEブートでネットワークインストール@RHEL5 or CentOS5

最近のPCやサーバーではPXEというネットワークブートを使って、CDやDVDを使 …

no image
Apache 2.0 + OpenSSL

OpenSSLは SSLv2/SSLv3/TLSv1 をサポートしているオープン …

no image
cygwinでWindowsのコマンド(ipconfig等)の文字化けを解消する

WindowsのコマンドをCygwin上で実行すると文字化けしてしまいます。これ …

no image
キーコードの表示@Debian etch

以下のコマンドでキーコードの対応表を取得できます。 # xmodmap -pke …

no image
Galaxy SIIIのカメラのシャッター音を消す@Android 4.1.2

root 化した端末必須です。 root 権限で実行でき、/system を読み …

no image
Googleの検索ツールが出てこない@Firefox

最近(2012年11月現在)、Googleの検索結果の表示が変更されて、検索ツー …

no image
Galaxy S + PdaNet でBluetoothテザリング

※本記事の方法でいかなる損害が発生したとしても、責任は負いません。 Galaxy …

no image
rubyのexitの終了コード@1.8.5 and 1.8.7

最近rubyを使い始めて、いざプログラムを書いたところ、終了ステータスがうまく戻 …