- PR -

Webサーバのコンテンツに応じて処理を振り分ける事ができるフォワードプロキシーを探しています

1
投稿者投稿内容
ゆいな
ベテラン
会議室デビュー日: 2006/01/19
投稿数: 89
投稿日時: 2009-04-08 16:24
Webサーバのコンテンツに応じて処理を振り分ける事ができるプロキシーを探索しています。

具体的には、下記Bフォワードプロキシーのイメージです。

@Client --- Aリバースプロキシー --- Bフォワードプロキシー --- CWebサーバ

Aからは、HTTPヘッダーでログインしたユーザID等が送られてくるので、
その情報を取得して、リクエストをそのままCに転送して、
戻ってきたレスポンスHTML(ここにアクセスできるユーザIDがタグに記載されている)をみて
HTTPヘッダーで取得したユーザIDとタグのユーザIDが合致していたら、
レスポンスHTMLをそのままAに返し、それ以外なら「アクセスできません」のページを返したいです。


製品(DelegateやApacheなど)もしくは、開発かなど
実現に向けてアドバイス等々をいただければ幸いです。

よろしくお願いします。
たらお
大ベテラン
会議室デビュー日: 2006/12/25
投稿数: 206
お住まい・勤務地: 東京・永代通り
投稿日時: 2009-04-13 09:40
要件が特定しにくいのですが、

・HTTPヘッダの中の「ユーザID」
・HTML内の「ユーザIDタグ」(=Cookie?)
・「アクセスできません」のページの所在

この両方を読める必要がある、ということでしょうか。
一般的なプロキシは、HTTPヘッダ内のURLを読むことが仕事ですので、
「ユーザID」がURLにインプリメントされていれば、問題ないでしょう。

ところが、件の「ユーザIDタグ」については、殆どのプロキシの守備範囲外です。
もちろん、ここがご質問のポイントでしょうか。
通常は、負荷分散装置+Cookieの出番のような気がします。

さて、リクエストを受け取ったサーバには予めアクセス権限のあるユーザIDテーブルがコンテンツごとに準備されていると考えます。アクセス権限のあるユーザが若干名ならうまく行きそうですが、十数名もいたら破綻してしまいます。
データ内にアクセス可能なユーザIDタグ(テーブル?)を入れるのも、セキュリティ上どうかなという感じです。
つまり、サーバが「ユーザIDタグ」なるものをHTML内に書く仕組みにかなりの疑問があります。

通常は、Cookie内にユーザクラス情報をインプリメントして、
負荷分散装置がクラス情報により、適切なサーバに接続するのかと。
Cookieを改ざんされた場合の対処をしておけば、良いと思います。



_________________
_福田太郎_
ゆいな
ベテラン
会議室デビュー日: 2006/01/19
投稿数: 89
投稿日時: 2009-04-15 08:49
ご回答ありがとうございます。

下記、補足です。

Aリバースプロキシーから、HTTPヘッダのREMOTE_USERが送られてくるので
それを取得できる事。
また、HTTPヘッダの情報がカンマ区切りで送られてくる場合もあり、
カンマ区切りで変数に格納する等の文字列操作ができる事

CWebサーバの各HTMLには、
利用できるユーザ名がタグに埋め込まれており
input type=hidden name1=userid value=taro_yamada
input type=hidden name2=userid value=jiro_yamada

HTMLの内容が取得でき、文字列操作ができる事。
ちなみに、HTMLの改修はできません。

そして、ユーザIDが見つからなかった場合には、
「アクセスできません」のHTML(Bフォワードプロキシが持つ)が
見つかった場合には、取得したHTMLがリバースプロキシーに返せる事。


よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)