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
adblock plusで正規表現を使う@Firefox

広告削除ツールとして有名なFirefoxアドオンのaddblock plusで正 …

no image
ATOK 2009@Windows 7

Windows7 に ATOK 2009を入れてみた。何事もなく普通に使えました …

no image
画面の外に行ってしまったウィンドウを移動する@Windows 7

Windows XPの場合、ウィンドウが画面外に行ってしまって移動できない場合、 …

no image
Linuxコンテナ(LXC)内からNFSマウント@Ubuntu 14.04

Ubuntu 14.04 上で作成したLinuxコンテナ内からNFSマウントでき …

no image
シェルスクリプトでファイル内の文字列を置換する

== 2012/11/8 追記 == 以下ではedコマンドでの文字列置換を紹介し …

no image
pythonのpipをインストール@cygwin

cygwinのsetuptoolsがインストールされていない場合は、インストール …

no image
WordPressのページ管理画面でページ番号を出力する

WordPressのページ機能で静的なページを作成しているとき、ページの順序を変 …

no image
ウェブページの更新がブラウザに反映されない@Firefox 3.5

オークションサイトやSNS、掲示板、もしくは自分で作っているページの編集結果の確 …

no image
LDAPサーバ構築 @ Debian etch

まずはapt-getでインストールします # apt-get install s …

no image
ウィンドウが勝手に最大化@Windows 7

Windows 7で、ウィンドウをはしっこに移動したりすると、最大化してしまいす …