- - PR -
Apache2でIPアドレスを判定してリダイレクト先を変更
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-07-03 10:00
お世話になっております。
koaraと申します。 ・RedHat Linux ES4(2.6.9-55) ・Apache 2.0.52 という環境でApacheの設定で困っております。 部門内向けWEBサーバーの表示内容を一部制限して部門外へ公開したいと思っています。 現状はWEBサーバーを2台立て部門内向けには全てのメニューを、 部門外向けには部門内向けの一部ページへのリンクをメニューにして対応しています。 このサーバーを1台に統合したいのですが、 接続元のIPアドレスを判定してバーチャルホストへ転送することは可能でしょうか? ■現状の構成 部門内向けWEBサーバー ・ホスト名 hostA ・ホストIP 192.168.1.100 ・URL http://hostA ・アクセス制限 192.168.1. からのみ許可 ・公開内容 新着情報、スケジュール、在庫検索、... 部門外向けWEBサーバー ・ホスト名 hostB ・ホストIP 192.168.1.101 ・URL http://hostB ・アクセス制限 192.168.2. からのみ許可 ・公開内容 新着情報 具体的には下記のような設定をしたいです。 ・192.168.1.0/24から接続があった場合 ”http://host.html”へリダイレクト ・192.168.2.0/24から接続があった場合 ”http://vhost.html”へリダイレクト 情報をお持ちの方がおられましたら アドバイスよろしくお願いします | ||||||||
|
投稿日時: 2007-07-03 14:31
試していないので、なんとも言えませんがmod_rewriteなら実現可能だと思います。
例)192.168.2.0/24からのアクセスの場合、host.htmlをvhost.htmlに書き換える
| ||||||||
|
投稿日時: 2007-07-03 15:19
Name-based virtual host にして(1台のマシンにhostAとhostBの2つの名前を付ける)、必要であればそれぞれアクセス制限する方法もあります。
| ||||||||
|
投稿日時: 2007-07-03 16:39
というのであれば
ではなく ・192.168.1.0/24からhttp://hostBへ接続があった場合 ”http://hostA/”へリダイレクト ・192.168.2.0/24からhttp://hostAへ接続があった場合 ”http://hostB/”へリダイレクト ですよね?ゆうじゅんさんが書かれたようにmod_rewriteで可能だと思います。name_basedですから、(統合された)IPへのアクセスがhostAになるかhostBになるかは設定次第ですが、いずれにしても各々のDocumentRootの.htaccessで設定すればよろしいかと。 [ メッセージ編集済み 編集者: shimix 編集日時 2007-07-03 16:43 ] |
1