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
TCP Wrapper の設定チェック@Linux

昔からあるアクセス制限の方法として、TCP Wrapperがあります。 /etc …

no image
WordPress プラグイン - Stat Traq導入

アクセス統計をとってくれるプラグインStat TraqをWordPressに導入 …

no image
アイソレーションレベル

データベースはあまり詳しくないので、メモ書き。 SQL-92の仕様では、アイソレ …

no image
WordPress高負荷対策→同一ApacheのIPのアクセス数制限@CentOS 5

一日に数回サーバ高負荷で応答がなくなってしまって困っていました。load ave …

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

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

no image
Fedora 16 のLive CD (iso) を USBメモリから起動する @ grub2

まずはじめに、結論から言うと、Ubuntu の iso はUSBメモリから直接起 …

no image
日本語入力 ON/OFF キー変更@Fedora 13

今までscim というインプットメソッドがメジャーだったような気がしていたのです …

no image
NEC Aterm 8300N DHCPの固定割り当てIPが割り当てられない

NEC Aterm 8300N の設定でDHCPの固定割り当てを設定しても、なぜ …

no image
py2exeでpythonをWindowsの実行ファイル形式にする@Windows 7 64bit

python でちょこっと作プログラムを誰かに渡したいとき、相手にpython入 …

no image
ブックマークのスクロール位置の記憶@Firefox3

今までFirefoxを使っていて不便に思っていたことの一つに、サイドバーのブック …