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
リモートデスクトップでPC再起動 or シャットダウン@Windows 7

Windows リモートデスクトップ接続では、通常のスタートメニューから再起動や …

no image
Windows XPのディスクアクセスがうるさいので自動デフラグを無効にする

今更ですが、Windows XP を使っていると、ディスクがカリカリとうるさいな …

no image
VNC上の文字化け解消@CentOS 5

一部のアプリケーション、例えばJavaやOracleのインストーラーなどは、VN …

no image
vimでpythonの補完を行う

pythonを少し書いてみようと思い立ち、とりあえずvimでpythonのキーワ …

no image
VMware Serverのコンソールが起動しない@Debian Etch

数年前にDebian EtchにVMware 1.0.4をインストールした時は、 …

no image
or条件でのgrep

普段使ったことなかったので覚え書き。 grep で複数の文字列をor条件でマッチ …

no image
sshの公開鍵・秘密鍵

公開鍵・秘密鍵をたまにしか作成しないのでメモ # ssh-keygen -t d …

no image
マネージドBeanのスレッドセーフについて

サーブレットは、web.xmlのservlet要素毎にひとつつくられるため、複数 …

no image
セキュアなWPA-PSK + インフラストラクチャモードでテザリング@Galaxy S with root

Wifiでテザリングするために、Android で root とって、Wirel …

no image
initrd を展開しファイルを編集する @ Fedora 16

Fedora 16 Live CD の initrd を編集する必要があったので …