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
Linuxで汎用マウスジェスチャ@Fedora 14 with KDE

Windows では strokeit という汎用のマウスジェスチャをずっと使っ …

no image
b-mobileのプロキシ

b-mobileのプロキシって三つあるんですね。 marion 低圧縮 mari …

no image
コマンドラインのロック@CentOS 5

コンソールログインやssh接続などでコマンドラインを使用しているとき、少し席を外 …

no image
ポート監視やwatchdogで簡易サーバ監視@CentOS 5

アカウント共有型のレンタルサーバならサーバが落ちても、管理者の方が監視してくれて …

no image
Cygwinでscreenコマンドが使えなくなる@Windows 10

Windows 10 上のCygwin (64bit版使用)で、screen コ …

no image
デフォルトサーバ証明書の更新 @ CentOS 4

インストール時に自動的にインストールされるApacheのSSLの証明書を更新する …

no image
sshダイナミックフォワーディング@cygwin

OpenSSHクライアントのsshコマンドでトンネリングをする方法として-Lオプ …

no image
pythonスクリプトをダブルクリックで起動する→拡張子関連づけ詳細設定@Windows 7 with python 2.7

拡張子 .py を持ったファイルをダブルクリックで起動する方法です。 ※Wind …

no image
vim (vi) でマッチした文字列の一部を置換

vim (vi)の置換のお話です。 全行のoldをnewに置換したい場合は普通こ …

no image
DLNAサーバ TVersity

PS3はDLNAクライアント機能があるため、ネットワーク上にある音楽や動画を再生 …