リバースプロキシシステム
【課題】 内部サーバ側で意識する必要がなく、より正確にマウントポイント情報(MP情報)を補完可能なリバースプロキシシステムを提供する。
【解決手段】 MP情報を含む第1外部アドレスによる第1アクセス要求があった場合に、第1外部アドレスを内部アドレスに変換する第1変換処理と、内部サーバ3から応答があった場合に、内部アドレスを第1外部アドレスに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求に係る第1または第2変換処理において、第1外部アドレスのMP情報と第1位置情報をアクセス履歴情報として記憶するアクセス履歴記憶手段12と、MP情報を含まない第2外部アドレスによる第2アクセス要求があった場合に、第2外部アドレスの第2位置情報と一部または全部が共通する第1位置情報を持つアクセス履歴情報のMP情報を用い、第2外部アドレスを内部アドレスに変換するアドレス補完手段13を備える。
【解決手段】 MP情報を含む第1外部アドレスによる第1アクセス要求があった場合に、第1外部アドレスを内部アドレスに変換する第1変換処理と、内部サーバ3から応答があった場合に、内部アドレスを第1外部アドレスに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求に係る第1または第2変換処理において、第1外部アドレスのMP情報と第1位置情報をアクセス履歴情報として記憶するアクセス履歴記憶手段12と、MP情報を含まない第2外部アドレスによる第2アクセス要求があった場合に、第2外部アドレスの第2位置情報と一部または全部が共通する第1位置情報を持つアクセス履歴情報のMP情報を用い、第2外部アドレスを内部アドレスに変換するアドレス補完手段13を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムに関する。
【背景技術】
【0002】
外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムでは、外部クライアントから内部サーバに対するアクセス要求が必ずリバースプロキシシステムを介して行われることから、外部クライアントが直接的に内部サーバにアクセスすることがない。このため、リバースプロキシシステムに、アクセス要求を行った外部クライアントが内部サーバへのアクセスを許容されているか否かをチェックする外部クライアントに対する認証機能や、中継するデータの内容をチェックする機能を持たせることにより、セキュリティの強化が可能になる。
【0003】
以下、リバースプロキシシステムの動作例について図10を基に簡単に説明する。ここで、図10は、従来のリバースプロキシシステム100とその周辺装置の一構成例を示している。
【0004】
リバースプロキシシステム100は、DMZ(DeMilitarized Zone、非武装地帯)に設置され、外部クライアント2が操作するクライアント端末2i(i=1〜m)とインターネット等の通信ネットワーク4を介してアクセス可能に構成され、クライアント端末2iから内部サーバ3の一例としてのWebサーバ3j(j=1〜n)に対するアクセス要求を中継するように構成されている。
【0005】
尚、図10に示すリバースプロキシシステム100は、内部サーバ3にアクセスするためにクライアント端末2iが指定する外部URLと、実際に内部サーバ3が有する内部URLとが異なっている。リバースプロキシシステム100は、外部クライアント2から内部サーバ3に対するアクセス要求(上り)では、外部URLを内部URLに変換し、内部サーバ3から外部クライアント2への応答(下り)では、内部URLを外部URLに変換する。
【0006】
ここでの外部URLは、“http://[リバースプロキシシステム100のURL]/[リバースプロキシシステムがアクセス要求を中継する内部サーバ3を特定するためのマウントポイント]/”で規定されている。例えば、図10に示すWebサーバ3jの場合、外部URLは“http://proxy.xxx.co.jp/web0j/”であり、内部URLは“http://web0j.xxx.co.jp/”であり、マウントポイントは“web0j”である。
【0007】
より具体的には、リバースプロキシシステム100は、例えば、クライアント端末21により、“http://proxy.xxx.co.jp/web01/”に対するアクセス要求(上り)があった場合、先ず、当該外部URLからマウントポイント“web01”を抽出する。続いて、リバースプロキシシステム100は、外部URLを、マウントポイント“web01”が示すWebサーバ31の内部URL“http://web01.xxx.co.jp/”に置き換える。
【0008】
更に、リバースプロキシシステム100は、Webサーバ31から、クライアント端末21に対してコンテンツが返された場合(下り)、コンテンツの内部URL“http://web01.xxx.co.jp/”を、リバースプロキシシステム100のURL“http://proxy.xxx.co.jp/”と、マウントポイント“web01”を用いて、外部URL“http://proxy.xxx.co.jp/web01/”に置き換える。
【0009】
ところで、リバースプロキシシステムでは、一般的に、例えば、テキスト形式のデータの場合には、データ内部に記述された内部URLを外部URLに置き換えることは可能であるが、Javascript(登録商標)等のプログラミング言語で記述されたプログラムの内部URLを外部URLに置き換えることは非常に困難である。
【0010】
このため、リバースプロキシシステムに適合するように開発されていないWebサーバの場合、例えば、クライアント端末上でURLを生成するプログラムを含むコンテンツが、外部URLを正しく生成できない場合がある。より具体的には、Webサーバが、クライアント端末上でURLを生成するプログラムを含むコンテンツをクライアント端末に返した場合、クライアント端末上で、当該プログラムにより、マウントポイントの欠落した情報欠落URLが生成される可能性がある。このような場合には、クライアント端末が、生成された情報欠落URLに基づいて、再度、リバースプロキシシステムにアクセスしようとすると、リバースプロキシシステムは情報欠落URLを正しく内部URLに変換できない場合があるという問題があった。
【0011】
これに対し、マウントポイントの補完のための技術としては、例えば、外部クライアントからのアクセス要求を中継する全てのWebサーバの夫々について、Webサーバに固有のキーワードを設定し、Webサーバとキーワードの関係を示した対応テーブルを予め準備しておき、内部URLを外部URLに変換する際に、マウントポイントとキーワードを含む外部URLを生成し、マウントポイントが欠落した外部URLによるアクセス要求があった場合に、当該マウントポイントが欠落した外部URLから抽出したキーワードを用いて対応テーブルを検索してマウントポイントを取得し、当該マウントポイントを用いて外部URLを補完するリバースプロキシシステムがある。ここで、図11は、対応テーブルによるマウント補完を行うリバースプロキシシステムの動作の概要について示している。ここでは、キーワードは、各Webサーバの最上位ディレクトリ名と一致している。
【0012】
また、マウントポイントの補完のための技術としては、例えば、Webサーバから外部クライアントに対する応答(下り)において、Cookieにマウントポイントを保存しておき、前記外部クライアントから前記Webサーバに対するアクセス要求があったときに、マウントポイントが欠落していると認められた場合、Cookieに保存されたマウントポイントを用いて内部URLを生成するリバースプロキシシステムが提案されている(例えば、特許文献1参照)。ここで、図12は、特許文献1に記載のリバースプロキシシステムの動作の概要について示している。
【0013】
【特許文献1】特開2004−94805号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、図11に示す対応テーブルによるマウントポイントの補完を行うリバースプロキシシステムの場合、Webサーバに固有のキーワード(ディレクトリ名)を設定する必要があるため、Webサーバの開発において、他のWebサーバとの調整が不可欠となり、Webサーバの開発に手間がかかる。また、既存のWebサーバについては、最上位ディレクトリのディレクトリ名を変更する必要が生じる場合があり、適用することが困難である。
【0015】
また、上記特許文献1に記載のCookieによるマウントポイントの補完を行うリバースプロキシシステムの場合、同じ外部クライアントが複数のブラウザを利用している場合には、Cookieがページの閲覧毎に上書きされてしまう。このため、過去に閲覧したページからのアクセス要求において、正しくマウントポイントが補完されない場合が生じる可能性がある。ここで、図13は、Cookieによるマウントポイントの補完を行うリバースプロキシシステムにおける動作の例を示している。マウントポイント“web01”を有するWebサーバからの応答の後、マウントポイント“web02”を有するWebサーバからの応答があった場合、Cookieには、web02が上書き設定されることとなる。この場合に、マウントポイント“web01”を有するWebサーバに対するアクセス要求を行うと、マウントポイントが欠落している場合、“http://web01.xxx.co.jp/info/”と補完すべきところ、“http://web02.xxx.co.jp/info/”と補完されることとなり、マウントポイントを正しく補完できない。
【0016】
本発明は上記の問題に鑑みてなされたものであり、その目的は、内部サーバ側で特別な開発を行う必要がなく、且つ、Cookieを利用することなく、より正確にマウントポイント情報の補完を行うことができるリバースプロキシシステムを提供する点にある。
【課題を解決するための手段】
【0017】
上記目的を達成するための本発明に係るリバースプロキシシステムは、外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムであって、前記外部クライアントから、前記内部サーバを特定するマウントポイント情報を含む第1外部アドレスによる第1アクセス要求があった場合に、前記マウントポイント情報を用いて前記第1外部アドレスを前記内部サーバに固有の内部アドレスに変換して、対応する前記内部サーバに前記第1アクセス要求を受け渡す第1変換処理と、前記内部サーバから前記外部クライアントの前記第1アクセス要求に対する応答があった場合に、前記応答にかかる前記内部アドレスを、前記マウントポイント情報を含む前記第1外部アドレスに変換する第2変換処理を実行するアドレス変換手段と、前記第1アクセス要求があった場合に、前記第1アクセス要求に係る前記第1変換処理または前記第2変換処理の少なくとも何れか一方において、前記第1外部アドレスから前記マウントポイント情報と前記第1アクセス要求の対象ファイルの位置を示す第1位置情報とを抽出し、前記マウントポイント情報と前記第1位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段と、前記外部クライアントから、前記マウントポイント情報を含まない第2外部アドレスによる第2アクセス要求があった場合に、前記第2外部アドレスから前記第2アクセス要求の対象ファイルの位置を示す第2位置情報を抽出し、前記第2位置情報をキーとして前記第2位置情報と一部または全部が共通する前記第1位置情報を有する前記アクセス履歴情報を検索して前記マウントポイント情報を抽出し、当該マウントポイント情報を用いて、前記第2外部アドレスを前記内部アドレスに変換するアドレス補完手段と、を備えることを第1の特徴とする。
【0018】
上記特徴の本発明に係るリバースプロキシシステムは、前記外部クライアント別に前記外部クライアントに固有のクライアント識別情報を記憶した認証情報データベースを備え、前記外部クライアントから前記内部サーバへの前記アクセス要求があった場合に、前記アクセス要求を行った認証対象の前記外部クライアントから前記外部クライアントの前記クライアント識別情報を取得し、前記認証情報データベースに認証対象の前記外部クライアントの前記クライアント識別情報が記憶されている場合に前記外部クライアントを認証する認証手段を備え、前記アクセス履歴記憶手段が、前記クライアント識別情報を前記アクセス履歴情報と対応付けて記憶し、前記アドレス補完手段が、前記第2アクセス要求を行った前記外部クライアントの前記クライアント識別情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを第2の特徴とする。
【0019】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記第1アクセス要求のあった時間を示す時間情報を前記アクセス履歴情報と対応付けて記憶し、前記アドレス補完手段が、所定の時間条件範囲内の前記時間情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを第3の特徴とする。
【0020】
上記特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記第1外部アドレスから取得した前記マウントポイント情報及び前記第1位置情報を前記アクセス履歴情報として記憶するときに、同じ前記マウントポイント情報及び前記第1位置情報を有する前記アクセス履歴情報が記憶されている場合は、既に記憶されている前記アクセス履歴情報の前記時間情報を、新たな前記第1アクセス要求の前記時間情報に更新することを第4の特徴とする。
【0021】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第1位置情報として抽出することを第5の特徴とする。
【0022】
上記特徴の本発明に係るリバースプロキシシステムは、前記アドレス補完手段が、前記内部サーバが階層構造を有する場合に、前記第2外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第2位置情報として抽出することを第6の特徴とする。
【0023】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アドレス補完手段が、前記内部サーバが階層構造を有し、前記第2位置情報をキーとして前記アクセス履歴情報を検索したときに、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されなかった場合に、前記第2位置情報を構成する前記階層名の内、最下位の前記階層名を除いたものを前記第2位置情報として再設定する再設定処理と、前記第2位置情報をキーとして前記アクセス履歴情報を検索する検索処理とを、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されるまで、或いは、前記第2位置情報の再設定が実行できなくなるまで繰り返し実行することを第7の特徴とする。
【0024】
上記特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1位置情報が複数の階層名で構成される前記アクセス履歴情報の夫々について、前記第1位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、前記部分位置情報と前記マウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、前記部分位置情報を前記第1位置情報として前記統合対象アクセス履歴情報を統合する統合処理を実行することを第8の特徴とする。
【発明の効果】
【0025】
上記特徴のリバースプロキシシステムによれば、マウントポイント情報を含む第1外部アドレスによるアクセス要求があった場合に、マウントポイント情報とアクセス要求対象の第1位置情報を対応付けてアクセス履歴情報として記憶し、当該アクセス履歴情報を用いてマウントポイント情報の欠落した第2外部アドレスを補完するように構成したので、従来技術のように、Webサーバにキーワードを設定する等、Webサーバ側において特別な開発や変更作業を必要としないため、既存のリバースプロキシシステムにより容易に適用できる。
【0026】
また、上記特徴のリバースプロキシシステムによれば、アクセス履歴情報を用いてマウントポイント情報の欠落した第2外部アドレスを補完するように構成したので、Cookieを利用せず、より正確にマウントポイント情報の補完を行うことが可能になる。
【0027】
上記第2の特徴のリバースプロキシシステムによれば、外部クライアントの認証を行う認証手段を利用し、第1アクセス要求があった場合にクライアント識別情報と対応づけてアクセス履歴情報を作成するので、例えば、複数の内部サーバで同じディレクトリ名が用いられており、複数の外部クライアントから同時に内部サーバに対する第2アクセス要求があった場合でも、外部クライアントのアクセス要求先をより正確に類推することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【0028】
上記第3の特徴のリバースプロキシシステムによれば、第1アクセス要求があった時間を示す時間情報をクライアント識別情報と対応づけてアクセス履歴情報を作成するので、例えば、複数の内部サーバで同じディレクトリ名が用いられており、複数の外部クライアントから同時に内部サーバに対する第2アクセス要求があった場合でも、外部クライアントのアクセス要求先をより正確に類推することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【0029】
また、上記第4の特徴のリバースプロキシシステムによれば、時間情報に基づき、最新のアクセス履歴情報を記憶するので、一定期間以上経過し信頼性の低くなったと考えられるアクセス履歴情報を除外することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【0030】
上記第5の特徴のリバースプロキシシステムによれば、内部サーバが階層構造を有する場合に、第1外部アドレスから、最上位階層から予め設定された所定階層数以内の階層名を第1位置情報として抽出するため、アクセス履歴情報の作成及び検索における処理効率を高めることができる。尚、一般的に、アクセス要求対象のコンテンツの位置情報は、深いほど信頼性が高くなるといえるが、ある程度の深さ以上であれば、信頼性は十分に確保できると考えられる。従って、上記第5の特徴のリバースプロキシシステムの如く、最上位階層から所定階層以内の階層名を第1位置情報として抽出するように構成した場合、アクセス履歴情報の信頼性を低下させることなく、アクセス履歴情報の作成及び検索における処理効率を高めることが可能になる。
【0031】
また、上記第6の特徴のリバースプロキシシステムによれば、第2外部アドレスから、最上位階層から所定階層以内の階層名を第2位置情報として抽出するので、アクセス履歴情報の検索及びマウントポイント情報の補完における処理効率を更に高めることが可能になる。
【0032】
上記第7の特徴のリバースプロキシシステムによれば、第2位置情報の全体が第1位置情報と完全に一致しない場合であっても、ある程度の範囲で一致する場合には、当該第1位置情報に対応するマウントポイント情報を、第2アクセス要求の欠落したマウントポイント情報として特定することが可能になる。これにより、第2アクセス要求における第2外部アドレスに柔軟に対応して、マウントポイント情報の補完の達成率を向上させることが可能になる。
【0033】
更に、上記第8の特徴のリバースプロキシシステムによれば、内部サーバの階層数が相当多い或いは階層構造が複雑な場合に、第1位置情報から最下位の階層名を除いた部分位置情報とマウントポイント情報が一致するアクセス履歴情報を統合できるので、アクセス履歴情報の検索効率を高めることが可能になる。
【発明を実施するための最良の形態】
【0034】
以下、本発明に係るリバースプロキシシステム(以下、適宜「本発明システム」と略称する)の実施形態を図面に基づいて説明する。
【0035】
〈第1実施形態〉
本発明システムの第1実施形態について、図1〜図6を基に説明する。
【0036】
先ず、本発明システム1の構成について図1及び図2を基に説明する。ここで、図1は、本発明システム1とその周辺装置の一構成例を示しており、図2は、本発明システム1の概略構成を示している。
【0037】
本発明システム1は、本実施形態では、DMZに設置され、内部サーバ3の閲覧を特定の外部クライアント2に制限する認証認可システムとしての機能を備え、外部クライアント2が操作するクライアント端末2i(i=1〜m)から内部サーバ3へのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムである。尚、本実施形態では、クライアント端末2iとして、PC(Personal Computer)等の端末を想定している。また、本実施形態では、説明のために、内部サーバ3として、ポータルサイト等のWebサーバ3j(j=1〜n)を想定しているが、メールサーバ等の他のサーバであっても良い。
【0038】
本発明システム1は、図2に示すように、認証認可システムに係る機能として、外部クライアント2別に外部クライアント2に固有のクライアント識別情報を記憶した認証情報データベースを備え、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、アクセス要求を行った認証対象のクライアント端末2iから、クライアント端末2iを操作する外部クライアント2のクライアント識別情報を取得し、認証情報データベースに認証対象の外部クライアント2のクライアント識別情報が記憶されている場合に外部クライアント2を認証する認証手段14を備えている。
【0039】
本発明システム1は、図2に示すように、クライアント端末2iから、Webサーバ3jを特定するマウントポイント情報を含む第1外部URL(第1外部アドレスに相当)による第1アクセス要求があった場合に、マウントポイント情報を用いて第1外部URLをWebサーバ3jに固有の内部アドレスに変換して、対応するWebサーバ3jに第1アクセス要求を受け渡す第1変換処理と、Webサーバ3jからクライアント端末2iの第1アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを、マウントポイント情報を含む第1外部URLに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求があった場合に、第1アクセス要求に係る第1変換処理において、第1外部URLからマウントポイント情報と第1アクセス要求の対象ファイルの位置を示す第1位置情報とを抽出し、マウントポイント情報と第1位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段12と、クライアント端末2iから、マウントポイント情報を含まない第2外部URL(第2外部アドレス)による第2アクセス要求があった場合に、第2外部URLから第2アクセス要求の対象ファイルの位置を示す第2位置情報を抽出し、第2位置情報をキーとして第2位置情報と全部が共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第2外部URLを内部アドレスに変換するアドレス補完手段13と、インターネット等の通信ネットワーク4を介してクライアント端末2iとデータ通信を行うための機能と、内部LAN5を介してWebサーバ3jとデータ通信を行うための機能とを有する通信インターフェース10を備えて構成されている。
【0040】
以下、本発明システム1の処理動作について、図4を基に説明する。ここで、図4は、本発明システム1の処理動作の概略構成例を示している。
【0041】
本実施形態では、Webサーバ3jが階層構造を備えており、第1外部URLが“http://[本発明システム1のURL]/[prefix]/[directry]/[filename]”で規定され、内部URLが“http://[Webサーバ3jのURL]/[directry]/[filename]”で規定される場合を想定して説明する。尚、“[directry]”及び“[filename]”部分は必ずしも備える必要は無い。
【0042】
より具体的には、図1に示すWebサーバ3jの外部URLは、“http://proxy.xxx.co.jp/web0j/”から始まるように構成されている。この場合、“web0j”がWebサーバ3jを特定するマウントポイント情報である。更に、Webサーバ3jの内部URLは、“http://web0j.xxx.co.jp/”(j=1〜n)から始まるように構成されている。ここで、図3(a)は、Webサーバ31のディレクトリ構成の一例を、図3(b)は、Webサーバ32のディレクトリ構成の一例を、図3(c)は、Webサーバ33のディレクトリ構成の一例を夫々示している。
【0043】
本実施形態の本発明システム1は、図4に示すように、クライアント端末2iから認証要求を受け付けると(ステップ#121)、認証手段14が、クライアント端末2iに対し、クライアント識別情報の一例としてのユーザID及びパスワードの入力要求を行う(ステップ#111)。
【0044】
クライアント端末2iからユーザID及びパスワードが返されると(ステップ#122)、認証手段14は、内部サーバ3へのアクセス要求を許可された外部クライアント2のユーザIDとパスワードを管理する認証データベースを検索し、クライアント端末2iから入力された外部クライアント2のユーザID及びパスワードが登録されている場合に、外部クライアント2を認証する(ステップ#112)。
【0045】
外部クライアント2が認証されると、認証手段14は、認証された外部クライアント2が操作するクライアント端末2iからの内部サーバ3に対するアクセス要求を許可する。
【0046】
続いて、認証された外部クライアント2が操作するクライアント端末2iからアクセス要求があると(ステップ#123)、先ず、本発明システム1のアドレス変換手段11が、当該アクセス要求が、マウントポイント情報を含む第1外部URLによる第1アクセス要求であるか、マウントポイント情報が欠落した第2外部URLによる第2アクセス要求であるかを判定する(ステップ#113)。
【0047】
より詳細には、アドレス変換手段11は、本発明システム1がアクセス要求を中継する全ての内部サーバ3についてマウントポイント情報を記憶したマウントポイント情報テーブルを備えている。ここで、図5は、マウントポイント情報テーブルの一例を示している。アドレス変換手段11は、アクセス要求に係る外部URLから、第1外部URLの[prefix]に相当する部分を抽出し、抽出した部分がマウントポイント情報としてマウントポイント情報テーブルに登録されている場合、第1外部URLによる第1アクセス要求であると判定する。これに対し、アドレス変換手段11は、マウントポイント情報テーブルに登録が無い場合、第2外部URLによる第2アクセス要求であると判定する。
【0048】
ステップ#113において、アクセス要求に係る外部URLが第1外部URLであると判定した場合、アドレス変換手段11は、第1外部URLを内部URLに変換して(ステップ#114)、対応するWebサーバ3jにアクセス要求を中継する(ステップ#116)。
【0049】
ステップ#113において、アドレス変換手段11によりクライアント端末2iからのアクセス要求が第1アクセス要求であると判定された場合、アクセス履歴記憶手段12が、当該第1アクセス要求についてアクセス履歴情報を記憶する(ステップ#115)。尚、アクセス履歴情報の記憶処理とWebサーバ3jへのアクセス要求の中継処理は、同時に実行しても良いし順番に実行しても良い。
【0050】
具体的には、例えば、第1アクセス要求の第1外部URLが、“http://proxy.xxx.co.jp/web01/WebApplication01/html/index.html”の場合、アクセス履歴記憶手段12は、第1外部URLから、マウントポイント情報“web01”と、第1位置情報“/WebApplication01/html”を抽出し、対応付けてアクセス履歴情報として記憶する。ここで、図6は、アクセス履歴情報の一例を示している。本実施形態では、アクセス履歴情報には、クライアント識別情報としてのユーザID、第1アクセス要求の合った時間を示す時間情報としてのアクセス日時、マウントポイント情報、及び、第1位置情報が記憶されている。
【0051】
また、本実施形態のアクセス履歴記憶手段12は、第1外部URLから取得したマウントポイント情報及び第1位置情報をアクセス履歴情報として記憶するときに、同じマウントポイント情報及び第1位置情報を有するアクセス履歴情報が記憶されている場合は、既に記憶されているアクセス履歴情報のアクセス日時を、新たな第1アクセス要求のアクセス日時に更新するように構成されている。尚、アクセス履歴情報に、マウントポイント情報及び第1位置情報以外の他の情報が記憶されている場合は、アクセス日時を除く他の全ての情報が完全に一致する場合に、アクセス日時を更新する。本実施形態では、マウントポイント情報及び第1位置情報以外に、ユーザIDが記録されているので、マウントポイント情報、第1位置情報、及び、ユーザIDが全て一致する場合に、アクセス履歴情報のアクセス日時を更新する。
【0052】
尚、認証直後の内部サーバ3へのアクセス要求については、マウントポイント情報が正しく含まれる第1外部URLによる第1アクセス要求であると考えられるため、ステップ#113を実行せずに、後述するアクセス履歴情報の記憶(ステップ#115)及び第1アクセス要求の中継処理(ステップ#116)を実行するように構成しても良い。
【0053】
引き続き、内部サーバ3から第1アクセス要求に対する応答があると(ステップ#131)、アドレス変換手段11は、当該応答に係る内部URLを外部URLに変換する第2変換処理を実行する(ステップ#211)。
【0054】
認証された外部クライアント2が操作するクライアント端末2iから、2回目以降のアクセス要求があり(ステップ#321)、アドレス変換手段11により、当該アクセス要求が、マウントポイント情報が欠落した第2外部URLによる第2アクセス要求であると判定された場合(ステップ#311)、アドレス補完手段13は、アクセス履歴記憶手段12によって記憶されたアクセス履歴情報を用いて、第2アクセス要求に係る第2外部URLの補完処理を行う(ステップ#312)。
【0055】
より具体的には、本実施形態のアドレス補完手段13は、第2アクセス要求を行ったクライアント端末2iを操作する外部クライアント2のユーザIDが記憶されているアクセス要求履歴の内、所定の時間条件範囲内、例えば、1年以内のアクセス日時を持つアクセス履歴情報を用いて、第2外部URLを内部アドレスに変換する。尚、時間条件は、本実施形態では1年としたが、外部クライアント2の利用状況や内部サーバ3の機能等に応じて適切に設定する。また、時間条件は、外部クライアント2別、内部サーバ3別(コンテンツ別)に設定しても良い。
【0056】
ここで、第2外部URLは、第1外部URLの[prefix]部分が欠落したものであることから、第2外部URLの構成は、“http://[本発明システム1のURL]/[directry]/[filename]”となる。尚、“/[filename]”部分は必ずしも備える必要は無い。アドレス補完手段13は、第2外部URLから、第2位置情報として[directry]部分を抽出する。具体的には、例えば、第2外部URLが“http://proxy.xxx.co.jp/WebApplication01/html/index.html”の場合、第2位置情報として“/WebApplication01/html”を抽出する。
【0057】
第2位置情報を抽出すると、アドレス補完手段13は、抽出した第2位置情報と共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を取得する。より詳細には、本実施形態では、図6に示すアクセス履歴情報の場合、ユーザIDが“1234567”のアクセス履歴情報の内、第2位置情報“/WebApplication01/html”と全部が共通する第1位置情報が記憶されているNo1のアドレス履歴情報を抽出する。
【0058】
アドレス履歴情報を抽出すると、アドレス補完手段13は、抽出したNo1のアドレス履歴情報に記憶されているマウントポイント情報“/web01”を用いて、第2外部URL“http://proxy.xxx.co.jp/WebApplication01/html/index.html”を、内部アドレス“http://web01.xxx.co.jp/WebApplication01/html/index.html”に変換する。
【0059】
本発明システム1は、アドレス補完手段13によって補完した内部アドレスを用いて、内部サーバ3に対するアクセス要求を中継する(ステップ#313)。内部サーバ3、ここでは、Webサーバ31から第2アクセス要求に対する応答があると(ステップ#331)、アドレス変換手段11は、当該応答に係る内部URLを外部URLに変換する第2変換処理を実行する(ステップ#314)。
【0060】
尚、本実施形態では、アドレス補完手段13を、第2位置情報と全部が共通する第1位置情報を有するアクセス履歴情報を検索するように構成したが、これに限るものではなく、一部が共通する第1位置情報を有するアクセス履歴情報を検索するように構成しても良い。例えば、最上位階層から予め設定された階層数以上が一致する第1位置情報を有するアクセス履歴情報を検索する構成、或いは、一致度が最も高い第1位置情報を有するアクセス履歴情報を検索する構成等、他の検索条件に従って、アクセス履歴情報を検索するように構成しても良い。この場合には、検索成功率を向上させることが可能になる。
【0061】
〈第2実施形態〉
本発明システム1の第2実施形態について、図7を基に説明する。尚、本実施形態では、上記第1実施形態とは、アクセス履歴記憶手段12及びアドレス補完手段13の構成が異なる場合について説明する。より詳細には、上記第1実施形態では、アクセス履歴記憶手段12が、第1位置情報として第1外部URLの全階層名(ディレクトリ名)を抽出したが、本実施形態では、第1外部URLから抽出する階層名の階層数を制限する場合について説明する。
【0062】
本実施形態の本発明システム1は、上記第1実施形態と同様に、DMZに設置され、認証認可システムとしての機能を備えたリバースプロキシシステムである。本発明システム1は、上記第1実施形態と同様に、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、外部クライアント2の認証処理を行う認証手段14と、クライアント端末2iからマウントポイント情報を含む第1外部URLによる第1アクセス要求があった場合に、第1外部URLを内部アドレスに変換して、対応するWebサーバ3jに第1アクセス要求を受け渡す第1変換処理と、Webサーバ3jから第1アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第1外部URLに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求があった場合に、第1アクセス要求に係る第1変換処理において、第1外部URLからマウントポイント情報と第1位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段12と、クライアント端末2iから、マウントポイント情報を含まない第2外部URLによる第2アクセス要求があった場合に、第2外部URLから第2位置情報を抽出し、当該第2位置情報と一部または全部が共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第2外部URLを内部アドレスに変換するアドレス補完手段13と、インターネット等の通信ネットワーク4を介して利用者端末とデータ通信を行うための通信インターフェース10を備えて構成されている。尚、認証手段14、アドレス変換手段11、及び、通信インターフェース10の構成は、上記第1実施形態と同じである。
【0063】
アクセス履歴記憶手段12は、本実施形態では、図4に示すステップ#115のアクセス履歴の記憶処理において、Webサーバ3jが階層構造を有する場合、第1外部URLから、Webサーバ3jにおける最上位から予め設定された所定階層数以内の階層名を第1位置情報として抽出する。
【0064】
より具体的には、例えば、最上位階層を含む2階層以内の階層名を第1位置情報として抽出するように構成されている場合に、第1アクセス要求の第1外部URLが“http://proxy.xxx.co.jp/web03/WebApplication01/aaa/html/index.html”である場合、アクセス履歴記憶手段12は、第1外部URLから、マウントポイント情報“web03”と、第1位置情報“/WebApplication01/aaa”を抽出する。ここで、図7は、本実施形態におけるアクセス履歴情報の一例を示している。
【0065】
アドレス補完手段13は、本実施形態では、図4に示すステップ#312のアドレス補完処理において、Webサーバ3jが階層構造を有する場合、第2外部URLから、Webサーバ3jにおける最上位から予め設定された所定階層数以内の階層名を第2位置情報として抽出する。本実施形態では、第1位置情報の場合と同様に、第1外部URLの最上位階層から、最上位階層を含む2階層以内の階層名を第2位置情報として抽出する。
【0066】
より具体的には、例えば、第2外部URLが“http://proxy.xxx.co.jp/WebApplication01/aaa/html/index.html”である場合、本実施形態のアドレス補完手段13は、第2位置情報として“/WebApplication01/aaa”を抽出する。第2位置情報を抽出すると、アドレス補完手段13は、上記第1実施形態と同様に、抽出した第2位置情報と共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を取得する。ここでは、図7に示すアクセス履歴情報から、抽出された第2位置情報“/WebApplication01/aaa”を有するNo4のアクセス履歴情報を抽出し、マウントポイント情報“web03”を取得する。
【0067】
続いて、本実施形態のアドレス補完手段13は、マウントポイント情報“web03”を用いて、第2外部URLを補完して、内部URL“http://web03.xxx.co.jp/WebApplication01/aaa/html/index.html”を生成する。
【0068】
本実施形態の本発明システム1は、Webサーバ3jが階層構造を有する場合、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合に、アクセス履歴情報の第1位置情報と、第2外部URLから抽出する第2位置情報を簡略化(縮退)させることができるので、アクセス履歴情報の簡素化や、アクセス履歴情報の第1位置情報に対する検索効率を向上させることができる。
【0069】
更に、一般的には、全階層名が一致していなくても、ある程度の階層数の階層名が一致していれば、同じマウントポイント情報を有すると類推可能であることから、本実施形態のアドレス補完手段13のように、最上位階層からマウントポイント情報を類推可能な所定階層数以内の階層名を第2情報として抽出するように構成すれば、結果的に、第1位置情報と第2位置情報の全部が共通する場合に加え、一部のみが共通する場合にもアドレス履歴情報を一意的に検索することが可能になる。これにより、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合でも、より高確率に一意的にアドレス履歴情報を検索することができ、内部URLから第1外部URLへの変換成功率を向上させることが可能になる。
【0070】
〈第3実施形態〉
本発明システム1の第3実施形態について、図8を基に説明する。尚、本実施形態では、上記第1及び第2実施形態とは、アクセス履歴情報の第1位置情報の検索方法が異なる場合について説明する。
【0071】
本実施形態の本発明システム1は、上記第1及び第2実施形態と同様に、DMZに設置され、認証認可システムとしての機能を備えたリバースプロキシシステムである。本発明システム1は、上記第1実施形態と同様に、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、外部クライアント2の認証処理を行う認証手段14と、クライアント端末2iからマウントポイント情報を含む第1外部URLによる第1アクセス要求があった場合に、第1外部URLを内部アドレスに変換して、対応するWebサーバ3jに第1アクセス要求を受け渡す第1変換処理と、Webサーバ3jから第1アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第1外部URLに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求があった場合に、第1アクセス要求に係る第1変換処理において、第1外部URLからマウントポイント情報と第1位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段12と、クライアント端末2iから、マウントポイント情報を含まない第2外部URLによる第2アクセス要求があった場合に、第2外部URLから第2位置情報を抽出し、当該第2位置情報と一部または全部が共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第2外部URLを内部アドレスに変換するアドレス補完手段13と、インターネット等の通信ネットワーク4を介して利用者端末とデータ通信を行うための通信インターフェース10を備えて構成されている。尚、認証手段14、アドレス変換手段11、アクセス履歴記憶手段12、及び、通信インターフェース10の構成は、上記第1実施形態と同じである。
【0072】
アドレス補完手段13は、本実施形態では、図4に示すステップ#312のアドレス補完処理において、Webサーバ3jが階層構造を有し、第2位置情報をキーとしてアクセス履歴情報を検索したときに、アクセス履歴情報に第2位置情報を含む第1位置情報が検索されなかった場合に、第2位置情報を構成する階層名の内、最下位の階層名を除いたものを第2位置情報として再設定する再設定処理と、第2位置情報をキーとしてアクセス履歴情報を検索する検索処理とを、アクセス履歴情報に第2位置情報を含む第1位置情報が検索されるまで、或いは、第2位置情報の再設定が実行できなくなるまで繰り返し実行する。
【0073】
以下、本実施形態におけるアドレス補完手段13の動作について図8を基に説明する。ここで、図8は、図4に示すステップ#312の詳細な処理動作を示している。
【0074】
本実施形態のアドレス補完手段13は、図4に示すステップ#312において、先ず、第2外部URLから第2位置情報を抽出する(ステップ#321)。より具体的には、例えば、第2外部URLが“http://proxy.xxx.co.jp/WebApplication01/images/jpg/***.jpg”の場合、アドレス補完手段13は、第2位置情報として“/WebApplication01/images/jpg”を抽出する。
【0075】
続いて、アドレス補完手段13は、第2位置情報をキーとしてアクセス履歴情報を検索する(ステップ#322)。
【0076】
ステップ#323において、第2位置情報を含む第1位置情報を有するアクセス履歴情報が検索されなかった場合(ステップ#323で「NO」分岐)、アドレス補完手段13は、第2位置情報の再設定が可能か否かを判定する(ステップ#324)。
【0077】
より具体的には、例えば、現在の第2位置情報が“/WebApplication01/images/jpg”である場合、図6に示すアクセス履歴情報には、当該第2位置情報を含むアクセス履歴情報はない。この場合、第2位置情報が複数の階層名で構成されているため、アドレス補完手段13は、ステップ#324において、第2位置情報の再設定が可能であると判定する。
【0078】
ステップ#324において第2位置情報の再設定が可能であると判定した場合、即ち、第2位置情報が複数のディレクトリ名で構成される場合は(ステップ#324で「YES」分岐)、現在の第2位置情報から最下位の階層名を除いて、新たな第2位置情報として再設定する(ステップ#325)。より具体的には、アドレス補完手段13は、例えば、現在の第2位置情報が“/WebApplication01/images/jpg”の場合、最下位の階層名“jpg”を除いた“/WebApplication01/images”を新たな第2位置情報として再設定する。
【0079】
ステップ#324において第2位置情報の再設定が可能ではない判定した場合は、アドレス補完手段13は、マウントポイント情報の補完が正常に実行できないとして、エラー情報を出力する。この場合、本発明システム1は、クライアント端末に対し、エラー情報を出力する。
【0080】
ステップ#323において、第2位置情報を含む第1位置情報を有するアクセス履歴情報が検索された場合(ステップ#323で「YES」分岐)、アドレス補完手段13は、検索されたアクセス履歴情報からマウントポイント情報を抽出し(ステップ#327)、抽出したマウントポイント情報を用いて第2外部URLを内部URLに変換する(ステップ#328)。
【0081】
より具体的には、例えば、ステップ#325で再設定された第2位置情報“/WebApplication01/images”は、図6に示すNo3のアクセス履歴情報の第1位置情報に含まれる。この場合、アドレス補完手段13は、No3のアクセス履歴情報からマウントポイント情報“web01”を抽出する。アドレス補完手段13は、抽出したマウントポイント情報“web01”を用いて、第2外部URL“http://proxy.xxx.co.jp/WebApplication01/images/jpg/***.jpg”を、内部URL“http://web01.xxx.co.jp/WebApplication01/images/jpg/***.jpg”に補完する。
【0082】
尚、本実施形態では、説明のために、アクセス履歴記憶手段12が上記第1実施形態と同じ構成である場合を想定して説明したが、第2実施形態と同様に、最上位階層から所定階層数の階層名を第1位置情報として抽出するように構成しても良い。
【0083】
また、本実施形態では、アドレス補完手段13を、アクセス履歴情報が検索されなかった場合に、最下位の階層名を除いた第2位置情報を新たな第2位置情報として設定する再設定処理と、新たな第2位置情報を用いた検索処理を実行するように構成したので、上記第2実施形態と同様に、第1位置情報と第2位置情報の全部が共通する場合に加え、一部のみが共通する場合にもアドレス履歴情報を一意的に検索することが可能になる。これにより、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合でも、より高確率に一意的にアドレス履歴情報を検索することができ、内部URLから第1外部URLへの変換成功率を向上させることが可能になる。
【0084】
〈第4実施形態〉
本発明システム1の第3実施形態について、図9を基に説明する。尚、本実施形態では、上記第2実施形態とは、アクセス履歴記憶手段12におけるアクセス履歴情報の生成方法が異なる場合について説明する。
【0085】
本発明システム1は、上記第1実施形態と同様に、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、外部クライアント2の認証処理を行う認証手段14と、クライアント端末2iからマウントポイント情報を含む第1外部URLによる第1アクセス要求があった場合に、第1外部URLを内部アドレスに変換して、対応するWebサーバ3jに第1アクセス要求を受け渡す第1変換処理と、Webサーバ3jから第1アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第1外部URLに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求があった場合に、第1アクセス要求に係る第1変換処理において、第1外部URLからマウントポイント情報と第1位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段12と、クライアント端末2iから、マウントポイント情報を含まない第2外部URLによる第2アクセス要求があった場合に、第2外部URLから第2位置情報を抽出し、当該第2位置情報と一部または全部が共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第2外部URLを内部アドレスに変換するアドレス補完手段13と、インターネット等の通信ネットワーク4を介して利用者端末とデータ通信を行うための通信インターフェース10を備えて構成されている。尚、認証手段14、アドレス変換手段11、アドレス補完手段13、及び、通信インターフェース10の構成は、上記第2または第3実施形態の何れかと同じである。
【0086】
アクセス履歴記憶手段12は、本実施形態では、内部サーバ3が階層構造を有する場合に、第1位置情報が複数の階層名で構成されるアクセス履歴情報の夫々について、第1位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、部分位置情報とマウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、部分位置情報を第1位置情報として統合対象アクセス履歴情報を統合する統合処理を実行する。
【0087】
以下、本実施形態におけるアクセス履歴記憶手段12の統合処理について、図9を基に説明する。ここで、図9(a)は、統合前のアクセス履歴情報の一例を示しており、図9(b)は、統合後のアクセス履歴情報の一例を示している。尚、本実施形態では、説明のため、特に、ユーザIDが“1234567”であり、マウントポイント情報が“web03”であるアクセス履歴情報を統合する場合について説明する。
【0088】
より具体的には、図9(a)には、ユーザIDが“1234567”及びマウントポイント情報“web03”のアクセス履歴情報として、NO4のアクセス履歴情報とNO5のアクセス履歴情報が記憶されている。アクセス履歴記憶手段12は、NO4の第1位置情報の階層数が3であり、NO5の第1位置情報の階層数が4であることから、例えば、部分位置情報の階層数を3に設定して、部分位置情報を夫々比較する。この場合には、NO4の部分位置情報は“/WebApplication01/aaa/html”となり、NO5の部分位置情報は“/WebApplication01/aaa/images”となり、一致しない。
【0089】
部分位置情報が一致しない場合、アクセス履歴記憶手段12は、部分位置情報の階層数を2に再設定して、部分位置情報を夫々比較する。この場合、NO4の部分位置情報は“/WebApplication01/aaa”となり、NO5の部分位置情報は“/WebApplication01/aaa”となり、完全に一致する。
【0090】
部分位置情報が一致した場合、アクセス履歴記憶手段12は、部分位置情報が一致したアクセス履歴情報を統合する。詳細には、部分位置情報が一致したアクセス履歴情報の内、最新のアクセス日時を有するアクセス履歴情報の第1位置情報を部分位置情報に置き換え、他のアクセス履歴情報を削除する。より具体的には、例えば、NO4のアクセス履歴情報の部分位置情報“/WebApplication01/aaa”を第1位置情報として、NO5のアクセス履歴情報を削除する。ここで、図9(b)は、統合後のアクセス履歴情報の一例を示している。これにより、アクセス履歴情報を統合することができ、アドレス補完手段13において検索処理等を効率よく実施することが可能になる。
【0091】
〈別実施形態〉
〈1〉上記第1〜第4実施形態では、第1変換処理においてアクセス履歴情報を記憶する場合について説明したが、これに限るものではない。第2変換処理においてアクセス履歴情報を記憶するように構成しても良いし、第1変換処理及び第2変換処理の両方において夫々アクセス履歴情報を記憶し、比較するように構成しても良い。
【0092】
〈2〉上記第1〜第4実施形態では、アクセス履歴記憶手段12が、アクセス履歴情報を記憶する際に、アクセス日時以外の情報が完全に一致するアクセス履歴情報がある場合に、既に記憶されているアクセス履歴情報のアクセス日時を更新するように構成したが、これに限るものではない。例えば、アクセス履歴情報を全て記憶しておき、所定の時間条件範囲内のアクセス履歴情報、例えば、過去1年以内に記憶されたアクセス履歴情報を利用する、或いは、アクセス日時以外の情報が完全に一致するアクセス履歴情報の内、最新のアクセス履歴情報のみを利用するように構成しても良い。
【0093】
〈3〉上記第1〜第4実施形態において、外部クライアント2及び内部サーバ3の夫々に、例えば、外部クライアント2の役職や部署名、内部サーバ3の機密度等に応じてセキュリティレベルを設定し、外部クライアント2毎に、セキュリティレベルに応じて、内部サーバ3別、或いは、内部サーバ3のコンテンツ別にアクセス要求の許可及び禁止を設定するように構成しても良い。
【0094】
このような場合には、同じ或いは所定範囲のセキュリティレベルが設定された1または複数の外部クライアント2で構成される1または複数のセキュリティグループを設定し、アドレス補完手段13を、外部クライアント2別ではなく、第2アクセス要求を行った外部クライアント2と同じセキュリティグループに属する外部クライアント2のユーザIDが記憶されているアクセス要求履歴を用いて、第2外部URLを内部アドレスに変換するように構成しても良い。また、アクセス要求履歴にアクセス日時等の時間情報が記憶されている場合には、外部クライアント2のセキュリティレベル別に、内部サーバ3別やコンテンツ別に時間条件を設定しても良い。
【0095】
更に、セキュリティグループ別のアクセス要求履歴を用いて第2外部URLを内部アドレスに変換するように構成する場合には、アクセス履歴情報を、セキュリティグループ別に作成するように構成しても良い。
【図面の簡単な説明】
【0096】
【図1】本発明に係るリバースプロキシシステムとその周辺装置の一構成例を示す概略ブロック図
【図2】本発明に係るリバースプロキシシステムの概略構成例を示す概略ブロック図
【図3】内部サーバの階層構造例を示す概略ブロック図
【図4】本発明に係るリバースプロキシシステム及び周辺装置の処理動作の概略を示す概略フロー図
【図5】本発明に係るリバースプロキシシステムで用いるマウントポイント情報テーブルの一例を示す図
【図6】本発明に係るリバースプロキシシステムの第1実施形態で生成するアクセス履歴情報の概略構成例を示す概略ブロック図
【図7】本発明に係るリバースプロキシシステムの第2実施形態で生成するアクセス履歴情報の概略構成例を示す概略ブロック図
【図8】本発明に係るリバースプロキシシステムの第3実施形態におけるマウントポイント情報の補完に係る処理動作の概略を示す概略フロー図
【図9】本発明に係るリバースプロキシシステムの第4実施形態における統合前のアクセス履歴情報と統合後のアクセス履歴情報の概略構成例を示す概略ブロック図
【図10】従来技術に係るリバースプロキシシステムとその周辺装置の一構成例を示す概略ブロック図
【図11】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【図12】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【図13】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【符号の説明】
【0097】
1 本発明に係るリバースプロキシシステム
2 外部クライアント
2i クライアント端末
3 内部サーバ
3j Webサーバ
4 通信ネットワーク
5 内部LAN
10 通信インターフェース
11 アドレス変換手段
12 アクセス履歴記憶手段
13 アドレス補完手段
14 認証手段
15 記憶手段
100 従来技術に係るリバースプロキシシステム
【技術分野】
【0001】
本発明は、外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムに関する。
【背景技術】
【0002】
外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムでは、外部クライアントから内部サーバに対するアクセス要求が必ずリバースプロキシシステムを介して行われることから、外部クライアントが直接的に内部サーバにアクセスすることがない。このため、リバースプロキシシステムに、アクセス要求を行った外部クライアントが内部サーバへのアクセスを許容されているか否かをチェックする外部クライアントに対する認証機能や、中継するデータの内容をチェックする機能を持たせることにより、セキュリティの強化が可能になる。
【0003】
以下、リバースプロキシシステムの動作例について図10を基に簡単に説明する。ここで、図10は、従来のリバースプロキシシステム100とその周辺装置の一構成例を示している。
【0004】
リバースプロキシシステム100は、DMZ(DeMilitarized Zone、非武装地帯)に設置され、外部クライアント2が操作するクライアント端末2i(i=1〜m)とインターネット等の通信ネットワーク4を介してアクセス可能に構成され、クライアント端末2iから内部サーバ3の一例としてのWebサーバ3j(j=1〜n)に対するアクセス要求を中継するように構成されている。
【0005】
尚、図10に示すリバースプロキシシステム100は、内部サーバ3にアクセスするためにクライアント端末2iが指定する外部URLと、実際に内部サーバ3が有する内部URLとが異なっている。リバースプロキシシステム100は、外部クライアント2から内部サーバ3に対するアクセス要求(上り)では、外部URLを内部URLに変換し、内部サーバ3から外部クライアント2への応答(下り)では、内部URLを外部URLに変換する。
【0006】
ここでの外部URLは、“http://[リバースプロキシシステム100のURL]/[リバースプロキシシステムがアクセス要求を中継する内部サーバ3を特定するためのマウントポイント]/”で規定されている。例えば、図10に示すWebサーバ3jの場合、外部URLは“http://proxy.xxx.co.jp/web0j/”であり、内部URLは“http://web0j.xxx.co.jp/”であり、マウントポイントは“web0j”である。
【0007】
より具体的には、リバースプロキシシステム100は、例えば、クライアント端末21により、“http://proxy.xxx.co.jp/web01/”に対するアクセス要求(上り)があった場合、先ず、当該外部URLからマウントポイント“web01”を抽出する。続いて、リバースプロキシシステム100は、外部URLを、マウントポイント“web01”が示すWebサーバ31の内部URL“http://web01.xxx.co.jp/”に置き換える。
【0008】
更に、リバースプロキシシステム100は、Webサーバ31から、クライアント端末21に対してコンテンツが返された場合(下り)、コンテンツの内部URL“http://web01.xxx.co.jp/”を、リバースプロキシシステム100のURL“http://proxy.xxx.co.jp/”と、マウントポイント“web01”を用いて、外部URL“http://proxy.xxx.co.jp/web01/”に置き換える。
【0009】
ところで、リバースプロキシシステムでは、一般的に、例えば、テキスト形式のデータの場合には、データ内部に記述された内部URLを外部URLに置き換えることは可能であるが、Javascript(登録商標)等のプログラミング言語で記述されたプログラムの内部URLを外部URLに置き換えることは非常に困難である。
【0010】
このため、リバースプロキシシステムに適合するように開発されていないWebサーバの場合、例えば、クライアント端末上でURLを生成するプログラムを含むコンテンツが、外部URLを正しく生成できない場合がある。より具体的には、Webサーバが、クライアント端末上でURLを生成するプログラムを含むコンテンツをクライアント端末に返した場合、クライアント端末上で、当該プログラムにより、マウントポイントの欠落した情報欠落URLが生成される可能性がある。このような場合には、クライアント端末が、生成された情報欠落URLに基づいて、再度、リバースプロキシシステムにアクセスしようとすると、リバースプロキシシステムは情報欠落URLを正しく内部URLに変換できない場合があるという問題があった。
【0011】
これに対し、マウントポイントの補完のための技術としては、例えば、外部クライアントからのアクセス要求を中継する全てのWebサーバの夫々について、Webサーバに固有のキーワードを設定し、Webサーバとキーワードの関係を示した対応テーブルを予め準備しておき、内部URLを外部URLに変換する際に、マウントポイントとキーワードを含む外部URLを生成し、マウントポイントが欠落した外部URLによるアクセス要求があった場合に、当該マウントポイントが欠落した外部URLから抽出したキーワードを用いて対応テーブルを検索してマウントポイントを取得し、当該マウントポイントを用いて外部URLを補完するリバースプロキシシステムがある。ここで、図11は、対応テーブルによるマウント補完を行うリバースプロキシシステムの動作の概要について示している。ここでは、キーワードは、各Webサーバの最上位ディレクトリ名と一致している。
【0012】
また、マウントポイントの補完のための技術としては、例えば、Webサーバから外部クライアントに対する応答(下り)において、Cookieにマウントポイントを保存しておき、前記外部クライアントから前記Webサーバに対するアクセス要求があったときに、マウントポイントが欠落していると認められた場合、Cookieに保存されたマウントポイントを用いて内部URLを生成するリバースプロキシシステムが提案されている(例えば、特許文献1参照)。ここで、図12は、特許文献1に記載のリバースプロキシシステムの動作の概要について示している。
【0013】
【特許文献1】特開2004−94805号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、図11に示す対応テーブルによるマウントポイントの補完を行うリバースプロキシシステムの場合、Webサーバに固有のキーワード(ディレクトリ名)を設定する必要があるため、Webサーバの開発において、他のWebサーバとの調整が不可欠となり、Webサーバの開発に手間がかかる。また、既存のWebサーバについては、最上位ディレクトリのディレクトリ名を変更する必要が生じる場合があり、適用することが困難である。
【0015】
また、上記特許文献1に記載のCookieによるマウントポイントの補完を行うリバースプロキシシステムの場合、同じ外部クライアントが複数のブラウザを利用している場合には、Cookieがページの閲覧毎に上書きされてしまう。このため、過去に閲覧したページからのアクセス要求において、正しくマウントポイントが補完されない場合が生じる可能性がある。ここで、図13は、Cookieによるマウントポイントの補完を行うリバースプロキシシステムにおける動作の例を示している。マウントポイント“web01”を有するWebサーバからの応答の後、マウントポイント“web02”を有するWebサーバからの応答があった場合、Cookieには、web02が上書き設定されることとなる。この場合に、マウントポイント“web01”を有するWebサーバに対するアクセス要求を行うと、マウントポイントが欠落している場合、“http://web01.xxx.co.jp/info/”と補完すべきところ、“http://web02.xxx.co.jp/info/”と補完されることとなり、マウントポイントを正しく補完できない。
【0016】
本発明は上記の問題に鑑みてなされたものであり、その目的は、内部サーバ側で特別な開発を行う必要がなく、且つ、Cookieを利用することなく、より正確にマウントポイント情報の補完を行うことができるリバースプロキシシステムを提供する点にある。
【課題を解決するための手段】
【0017】
上記目的を達成するための本発明に係るリバースプロキシシステムは、外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムであって、前記外部クライアントから、前記内部サーバを特定するマウントポイント情報を含む第1外部アドレスによる第1アクセス要求があった場合に、前記マウントポイント情報を用いて前記第1外部アドレスを前記内部サーバに固有の内部アドレスに変換して、対応する前記内部サーバに前記第1アクセス要求を受け渡す第1変換処理と、前記内部サーバから前記外部クライアントの前記第1アクセス要求に対する応答があった場合に、前記応答にかかる前記内部アドレスを、前記マウントポイント情報を含む前記第1外部アドレスに変換する第2変換処理を実行するアドレス変換手段と、前記第1アクセス要求があった場合に、前記第1アクセス要求に係る前記第1変換処理または前記第2変換処理の少なくとも何れか一方において、前記第1外部アドレスから前記マウントポイント情報と前記第1アクセス要求の対象ファイルの位置を示す第1位置情報とを抽出し、前記マウントポイント情報と前記第1位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段と、前記外部クライアントから、前記マウントポイント情報を含まない第2外部アドレスによる第2アクセス要求があった場合に、前記第2外部アドレスから前記第2アクセス要求の対象ファイルの位置を示す第2位置情報を抽出し、前記第2位置情報をキーとして前記第2位置情報と一部または全部が共通する前記第1位置情報を有する前記アクセス履歴情報を検索して前記マウントポイント情報を抽出し、当該マウントポイント情報を用いて、前記第2外部アドレスを前記内部アドレスに変換するアドレス補完手段と、を備えることを第1の特徴とする。
【0018】
上記特徴の本発明に係るリバースプロキシシステムは、前記外部クライアント別に前記外部クライアントに固有のクライアント識別情報を記憶した認証情報データベースを備え、前記外部クライアントから前記内部サーバへの前記アクセス要求があった場合に、前記アクセス要求を行った認証対象の前記外部クライアントから前記外部クライアントの前記クライアント識別情報を取得し、前記認証情報データベースに認証対象の前記外部クライアントの前記クライアント識別情報が記憶されている場合に前記外部クライアントを認証する認証手段を備え、前記アクセス履歴記憶手段が、前記クライアント識別情報を前記アクセス履歴情報と対応付けて記憶し、前記アドレス補完手段が、前記第2アクセス要求を行った前記外部クライアントの前記クライアント識別情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを第2の特徴とする。
【0019】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記第1アクセス要求のあった時間を示す時間情報を前記アクセス履歴情報と対応付けて記憶し、前記アドレス補完手段が、所定の時間条件範囲内の前記時間情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを第3の特徴とする。
【0020】
上記特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記第1外部アドレスから取得した前記マウントポイント情報及び前記第1位置情報を前記アクセス履歴情報として記憶するときに、同じ前記マウントポイント情報及び前記第1位置情報を有する前記アクセス履歴情報が記憶されている場合は、既に記憶されている前記アクセス履歴情報の前記時間情報を、新たな前記第1アクセス要求の前記時間情報に更新することを第4の特徴とする。
【0021】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第1位置情報として抽出することを第5の特徴とする。
【0022】
上記特徴の本発明に係るリバースプロキシシステムは、前記アドレス補完手段が、前記内部サーバが階層構造を有する場合に、前記第2外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第2位置情報として抽出することを第6の特徴とする。
【0023】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アドレス補完手段が、前記内部サーバが階層構造を有し、前記第2位置情報をキーとして前記アクセス履歴情報を検索したときに、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されなかった場合に、前記第2位置情報を構成する前記階層名の内、最下位の前記階層名を除いたものを前記第2位置情報として再設定する再設定処理と、前記第2位置情報をキーとして前記アクセス履歴情報を検索する検索処理とを、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されるまで、或いは、前記第2位置情報の再設定が実行できなくなるまで繰り返し実行することを第7の特徴とする。
【0024】
上記特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1位置情報が複数の階層名で構成される前記アクセス履歴情報の夫々について、前記第1位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、前記部分位置情報と前記マウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、前記部分位置情報を前記第1位置情報として前記統合対象アクセス履歴情報を統合する統合処理を実行することを第8の特徴とする。
【発明の効果】
【0025】
上記特徴のリバースプロキシシステムによれば、マウントポイント情報を含む第1外部アドレスによるアクセス要求があった場合に、マウントポイント情報とアクセス要求対象の第1位置情報を対応付けてアクセス履歴情報として記憶し、当該アクセス履歴情報を用いてマウントポイント情報の欠落した第2外部アドレスを補完するように構成したので、従来技術のように、Webサーバにキーワードを設定する等、Webサーバ側において特別な開発や変更作業を必要としないため、既存のリバースプロキシシステムにより容易に適用できる。
【0026】
また、上記特徴のリバースプロキシシステムによれば、アクセス履歴情報を用いてマウントポイント情報の欠落した第2外部アドレスを補完するように構成したので、Cookieを利用せず、より正確にマウントポイント情報の補完を行うことが可能になる。
【0027】
上記第2の特徴のリバースプロキシシステムによれば、外部クライアントの認証を行う認証手段を利用し、第1アクセス要求があった場合にクライアント識別情報と対応づけてアクセス履歴情報を作成するので、例えば、複数の内部サーバで同じディレクトリ名が用いられており、複数の外部クライアントから同時に内部サーバに対する第2アクセス要求があった場合でも、外部クライアントのアクセス要求先をより正確に類推することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【0028】
上記第3の特徴のリバースプロキシシステムによれば、第1アクセス要求があった時間を示す時間情報をクライアント識別情報と対応づけてアクセス履歴情報を作成するので、例えば、複数の内部サーバで同じディレクトリ名が用いられており、複数の外部クライアントから同時に内部サーバに対する第2アクセス要求があった場合でも、外部クライアントのアクセス要求先をより正確に類推することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【0029】
また、上記第4の特徴のリバースプロキシシステムによれば、時間情報に基づき、最新のアクセス履歴情報を記憶するので、一定期間以上経過し信頼性の低くなったと考えられるアクセス履歴情報を除外することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【0030】
上記第5の特徴のリバースプロキシシステムによれば、内部サーバが階層構造を有する場合に、第1外部アドレスから、最上位階層から予め設定された所定階層数以内の階層名を第1位置情報として抽出するため、アクセス履歴情報の作成及び検索における処理効率を高めることができる。尚、一般的に、アクセス要求対象のコンテンツの位置情報は、深いほど信頼性が高くなるといえるが、ある程度の深さ以上であれば、信頼性は十分に確保できると考えられる。従って、上記第5の特徴のリバースプロキシシステムの如く、最上位階層から所定階層以内の階層名を第1位置情報として抽出するように構成した場合、アクセス履歴情報の信頼性を低下させることなく、アクセス履歴情報の作成及び検索における処理効率を高めることが可能になる。
【0031】
また、上記第6の特徴のリバースプロキシシステムによれば、第2外部アドレスから、最上位階層から所定階層以内の階層名を第2位置情報として抽出するので、アクセス履歴情報の検索及びマウントポイント情報の補完における処理効率を更に高めることが可能になる。
【0032】
上記第7の特徴のリバースプロキシシステムによれば、第2位置情報の全体が第1位置情報と完全に一致しない場合であっても、ある程度の範囲で一致する場合には、当該第1位置情報に対応するマウントポイント情報を、第2アクセス要求の欠落したマウントポイント情報として特定することが可能になる。これにより、第2アクセス要求における第2外部アドレスに柔軟に対応して、マウントポイント情報の補完の達成率を向上させることが可能になる。
【0033】
更に、上記第8の特徴のリバースプロキシシステムによれば、内部サーバの階層数が相当多い或いは階層構造が複雑な場合に、第1位置情報から最下位の階層名を除いた部分位置情報とマウントポイント情報が一致するアクセス履歴情報を統合できるので、アクセス履歴情報の検索効率を高めることが可能になる。
【発明を実施するための最良の形態】
【0034】
以下、本発明に係るリバースプロキシシステム(以下、適宜「本発明システム」と略称する)の実施形態を図面に基づいて説明する。
【0035】
〈第1実施形態〉
本発明システムの第1実施形態について、図1〜図6を基に説明する。
【0036】
先ず、本発明システム1の構成について図1及び図2を基に説明する。ここで、図1は、本発明システム1とその周辺装置の一構成例を示しており、図2は、本発明システム1の概略構成を示している。
【0037】
本発明システム1は、本実施形態では、DMZに設置され、内部サーバ3の閲覧を特定の外部クライアント2に制限する認証認可システムとしての機能を備え、外部クライアント2が操作するクライアント端末2i(i=1〜m)から内部サーバ3へのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムである。尚、本実施形態では、クライアント端末2iとして、PC(Personal Computer)等の端末を想定している。また、本実施形態では、説明のために、内部サーバ3として、ポータルサイト等のWebサーバ3j(j=1〜n)を想定しているが、メールサーバ等の他のサーバであっても良い。
【0038】
本発明システム1は、図2に示すように、認証認可システムに係る機能として、外部クライアント2別に外部クライアント2に固有のクライアント識別情報を記憶した認証情報データベースを備え、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、アクセス要求を行った認証対象のクライアント端末2iから、クライアント端末2iを操作する外部クライアント2のクライアント識別情報を取得し、認証情報データベースに認証対象の外部クライアント2のクライアント識別情報が記憶されている場合に外部クライアント2を認証する認証手段14を備えている。
【0039】
本発明システム1は、図2に示すように、クライアント端末2iから、Webサーバ3jを特定するマウントポイント情報を含む第1外部URL(第1外部アドレスに相当)による第1アクセス要求があった場合に、マウントポイント情報を用いて第1外部URLをWebサーバ3jに固有の内部アドレスに変換して、対応するWebサーバ3jに第1アクセス要求を受け渡す第1変換処理と、Webサーバ3jからクライアント端末2iの第1アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを、マウントポイント情報を含む第1外部URLに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求があった場合に、第1アクセス要求に係る第1変換処理において、第1外部URLからマウントポイント情報と第1アクセス要求の対象ファイルの位置を示す第1位置情報とを抽出し、マウントポイント情報と第1位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段12と、クライアント端末2iから、マウントポイント情報を含まない第2外部URL(第2外部アドレス)による第2アクセス要求があった場合に、第2外部URLから第2アクセス要求の対象ファイルの位置を示す第2位置情報を抽出し、第2位置情報をキーとして第2位置情報と全部が共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第2外部URLを内部アドレスに変換するアドレス補完手段13と、インターネット等の通信ネットワーク4を介してクライアント端末2iとデータ通信を行うための機能と、内部LAN5を介してWebサーバ3jとデータ通信を行うための機能とを有する通信インターフェース10を備えて構成されている。
【0040】
以下、本発明システム1の処理動作について、図4を基に説明する。ここで、図4は、本発明システム1の処理動作の概略構成例を示している。
【0041】
本実施形態では、Webサーバ3jが階層構造を備えており、第1外部URLが“http://[本発明システム1のURL]/[prefix]/[directry]/[filename]”で規定され、内部URLが“http://[Webサーバ3jのURL]/[directry]/[filename]”で規定される場合を想定して説明する。尚、“[directry]”及び“[filename]”部分は必ずしも備える必要は無い。
【0042】
より具体的には、図1に示すWebサーバ3jの外部URLは、“http://proxy.xxx.co.jp/web0j/”から始まるように構成されている。この場合、“web0j”がWebサーバ3jを特定するマウントポイント情報である。更に、Webサーバ3jの内部URLは、“http://web0j.xxx.co.jp/”(j=1〜n)から始まるように構成されている。ここで、図3(a)は、Webサーバ31のディレクトリ構成の一例を、図3(b)は、Webサーバ32のディレクトリ構成の一例を、図3(c)は、Webサーバ33のディレクトリ構成の一例を夫々示している。
【0043】
本実施形態の本発明システム1は、図4に示すように、クライアント端末2iから認証要求を受け付けると(ステップ#121)、認証手段14が、クライアント端末2iに対し、クライアント識別情報の一例としてのユーザID及びパスワードの入力要求を行う(ステップ#111)。
【0044】
クライアント端末2iからユーザID及びパスワードが返されると(ステップ#122)、認証手段14は、内部サーバ3へのアクセス要求を許可された外部クライアント2のユーザIDとパスワードを管理する認証データベースを検索し、クライアント端末2iから入力された外部クライアント2のユーザID及びパスワードが登録されている場合に、外部クライアント2を認証する(ステップ#112)。
【0045】
外部クライアント2が認証されると、認証手段14は、認証された外部クライアント2が操作するクライアント端末2iからの内部サーバ3に対するアクセス要求を許可する。
【0046】
続いて、認証された外部クライアント2が操作するクライアント端末2iからアクセス要求があると(ステップ#123)、先ず、本発明システム1のアドレス変換手段11が、当該アクセス要求が、マウントポイント情報を含む第1外部URLによる第1アクセス要求であるか、マウントポイント情報が欠落した第2外部URLによる第2アクセス要求であるかを判定する(ステップ#113)。
【0047】
より詳細には、アドレス変換手段11は、本発明システム1がアクセス要求を中継する全ての内部サーバ3についてマウントポイント情報を記憶したマウントポイント情報テーブルを備えている。ここで、図5は、マウントポイント情報テーブルの一例を示している。アドレス変換手段11は、アクセス要求に係る外部URLから、第1外部URLの[prefix]に相当する部分を抽出し、抽出した部分がマウントポイント情報としてマウントポイント情報テーブルに登録されている場合、第1外部URLによる第1アクセス要求であると判定する。これに対し、アドレス変換手段11は、マウントポイント情報テーブルに登録が無い場合、第2外部URLによる第2アクセス要求であると判定する。
【0048】
ステップ#113において、アクセス要求に係る外部URLが第1外部URLであると判定した場合、アドレス変換手段11は、第1外部URLを内部URLに変換して(ステップ#114)、対応するWebサーバ3jにアクセス要求を中継する(ステップ#116)。
【0049】
ステップ#113において、アドレス変換手段11によりクライアント端末2iからのアクセス要求が第1アクセス要求であると判定された場合、アクセス履歴記憶手段12が、当該第1アクセス要求についてアクセス履歴情報を記憶する(ステップ#115)。尚、アクセス履歴情報の記憶処理とWebサーバ3jへのアクセス要求の中継処理は、同時に実行しても良いし順番に実行しても良い。
【0050】
具体的には、例えば、第1アクセス要求の第1外部URLが、“http://proxy.xxx.co.jp/web01/WebApplication01/html/index.html”の場合、アクセス履歴記憶手段12は、第1外部URLから、マウントポイント情報“web01”と、第1位置情報“/WebApplication01/html”を抽出し、対応付けてアクセス履歴情報として記憶する。ここで、図6は、アクセス履歴情報の一例を示している。本実施形態では、アクセス履歴情報には、クライアント識別情報としてのユーザID、第1アクセス要求の合った時間を示す時間情報としてのアクセス日時、マウントポイント情報、及び、第1位置情報が記憶されている。
【0051】
また、本実施形態のアクセス履歴記憶手段12は、第1外部URLから取得したマウントポイント情報及び第1位置情報をアクセス履歴情報として記憶するときに、同じマウントポイント情報及び第1位置情報を有するアクセス履歴情報が記憶されている場合は、既に記憶されているアクセス履歴情報のアクセス日時を、新たな第1アクセス要求のアクセス日時に更新するように構成されている。尚、アクセス履歴情報に、マウントポイント情報及び第1位置情報以外の他の情報が記憶されている場合は、アクセス日時を除く他の全ての情報が完全に一致する場合に、アクセス日時を更新する。本実施形態では、マウントポイント情報及び第1位置情報以外に、ユーザIDが記録されているので、マウントポイント情報、第1位置情報、及び、ユーザIDが全て一致する場合に、アクセス履歴情報のアクセス日時を更新する。
【0052】
尚、認証直後の内部サーバ3へのアクセス要求については、マウントポイント情報が正しく含まれる第1外部URLによる第1アクセス要求であると考えられるため、ステップ#113を実行せずに、後述するアクセス履歴情報の記憶(ステップ#115)及び第1アクセス要求の中継処理(ステップ#116)を実行するように構成しても良い。
【0053】
引き続き、内部サーバ3から第1アクセス要求に対する応答があると(ステップ#131)、アドレス変換手段11は、当該応答に係る内部URLを外部URLに変換する第2変換処理を実行する(ステップ#211)。
【0054】
認証された外部クライアント2が操作するクライアント端末2iから、2回目以降のアクセス要求があり(ステップ#321)、アドレス変換手段11により、当該アクセス要求が、マウントポイント情報が欠落した第2外部URLによる第2アクセス要求であると判定された場合(ステップ#311)、アドレス補完手段13は、アクセス履歴記憶手段12によって記憶されたアクセス履歴情報を用いて、第2アクセス要求に係る第2外部URLの補完処理を行う(ステップ#312)。
【0055】
より具体的には、本実施形態のアドレス補完手段13は、第2アクセス要求を行ったクライアント端末2iを操作する外部クライアント2のユーザIDが記憶されているアクセス要求履歴の内、所定の時間条件範囲内、例えば、1年以内のアクセス日時を持つアクセス履歴情報を用いて、第2外部URLを内部アドレスに変換する。尚、時間条件は、本実施形態では1年としたが、外部クライアント2の利用状況や内部サーバ3の機能等に応じて適切に設定する。また、時間条件は、外部クライアント2別、内部サーバ3別(コンテンツ別)に設定しても良い。
【0056】
ここで、第2外部URLは、第1外部URLの[prefix]部分が欠落したものであることから、第2外部URLの構成は、“http://[本発明システム1のURL]/[directry]/[filename]”となる。尚、“/[filename]”部分は必ずしも備える必要は無い。アドレス補完手段13は、第2外部URLから、第2位置情報として[directry]部分を抽出する。具体的には、例えば、第2外部URLが“http://proxy.xxx.co.jp/WebApplication01/html/index.html”の場合、第2位置情報として“/WebApplication01/html”を抽出する。
【0057】
第2位置情報を抽出すると、アドレス補完手段13は、抽出した第2位置情報と共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を取得する。より詳細には、本実施形態では、図6に示すアクセス履歴情報の場合、ユーザIDが“1234567”のアクセス履歴情報の内、第2位置情報“/WebApplication01/html”と全部が共通する第1位置情報が記憶されているNo1のアドレス履歴情報を抽出する。
【0058】
アドレス履歴情報を抽出すると、アドレス補完手段13は、抽出したNo1のアドレス履歴情報に記憶されているマウントポイント情報“/web01”を用いて、第2外部URL“http://proxy.xxx.co.jp/WebApplication01/html/index.html”を、内部アドレス“http://web01.xxx.co.jp/WebApplication01/html/index.html”に変換する。
【0059】
本発明システム1は、アドレス補完手段13によって補完した内部アドレスを用いて、内部サーバ3に対するアクセス要求を中継する(ステップ#313)。内部サーバ3、ここでは、Webサーバ31から第2アクセス要求に対する応答があると(ステップ#331)、アドレス変換手段11は、当該応答に係る内部URLを外部URLに変換する第2変換処理を実行する(ステップ#314)。
【0060】
尚、本実施形態では、アドレス補完手段13を、第2位置情報と全部が共通する第1位置情報を有するアクセス履歴情報を検索するように構成したが、これに限るものではなく、一部が共通する第1位置情報を有するアクセス履歴情報を検索するように構成しても良い。例えば、最上位階層から予め設定された階層数以上が一致する第1位置情報を有するアクセス履歴情報を検索する構成、或いは、一致度が最も高い第1位置情報を有するアクセス履歴情報を検索する構成等、他の検索条件に従って、アクセス履歴情報を検索するように構成しても良い。この場合には、検索成功率を向上させることが可能になる。
【0061】
〈第2実施形態〉
本発明システム1の第2実施形態について、図7を基に説明する。尚、本実施形態では、上記第1実施形態とは、アクセス履歴記憶手段12及びアドレス補完手段13の構成が異なる場合について説明する。より詳細には、上記第1実施形態では、アクセス履歴記憶手段12が、第1位置情報として第1外部URLの全階層名(ディレクトリ名)を抽出したが、本実施形態では、第1外部URLから抽出する階層名の階層数を制限する場合について説明する。
【0062】
本実施形態の本発明システム1は、上記第1実施形態と同様に、DMZに設置され、認証認可システムとしての機能を備えたリバースプロキシシステムである。本発明システム1は、上記第1実施形態と同様に、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、外部クライアント2の認証処理を行う認証手段14と、クライアント端末2iからマウントポイント情報を含む第1外部URLによる第1アクセス要求があった場合に、第1外部URLを内部アドレスに変換して、対応するWebサーバ3jに第1アクセス要求を受け渡す第1変換処理と、Webサーバ3jから第1アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第1外部URLに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求があった場合に、第1アクセス要求に係る第1変換処理において、第1外部URLからマウントポイント情報と第1位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段12と、クライアント端末2iから、マウントポイント情報を含まない第2外部URLによる第2アクセス要求があった場合に、第2外部URLから第2位置情報を抽出し、当該第2位置情報と一部または全部が共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第2外部URLを内部アドレスに変換するアドレス補完手段13と、インターネット等の通信ネットワーク4を介して利用者端末とデータ通信を行うための通信インターフェース10を備えて構成されている。尚、認証手段14、アドレス変換手段11、及び、通信インターフェース10の構成は、上記第1実施形態と同じである。
【0063】
アクセス履歴記憶手段12は、本実施形態では、図4に示すステップ#115のアクセス履歴の記憶処理において、Webサーバ3jが階層構造を有する場合、第1外部URLから、Webサーバ3jにおける最上位から予め設定された所定階層数以内の階層名を第1位置情報として抽出する。
【0064】
より具体的には、例えば、最上位階層を含む2階層以内の階層名を第1位置情報として抽出するように構成されている場合に、第1アクセス要求の第1外部URLが“http://proxy.xxx.co.jp/web03/WebApplication01/aaa/html/index.html”である場合、アクセス履歴記憶手段12は、第1外部URLから、マウントポイント情報“web03”と、第1位置情報“/WebApplication01/aaa”を抽出する。ここで、図7は、本実施形態におけるアクセス履歴情報の一例を示している。
【0065】
アドレス補完手段13は、本実施形態では、図4に示すステップ#312のアドレス補完処理において、Webサーバ3jが階層構造を有する場合、第2外部URLから、Webサーバ3jにおける最上位から予め設定された所定階層数以内の階層名を第2位置情報として抽出する。本実施形態では、第1位置情報の場合と同様に、第1外部URLの最上位階層から、最上位階層を含む2階層以内の階層名を第2位置情報として抽出する。
【0066】
より具体的には、例えば、第2外部URLが“http://proxy.xxx.co.jp/WebApplication01/aaa/html/index.html”である場合、本実施形態のアドレス補完手段13は、第2位置情報として“/WebApplication01/aaa”を抽出する。第2位置情報を抽出すると、アドレス補完手段13は、上記第1実施形態と同様に、抽出した第2位置情報と共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を取得する。ここでは、図7に示すアクセス履歴情報から、抽出された第2位置情報“/WebApplication01/aaa”を有するNo4のアクセス履歴情報を抽出し、マウントポイント情報“web03”を取得する。
【0067】
続いて、本実施形態のアドレス補完手段13は、マウントポイント情報“web03”を用いて、第2外部URLを補完して、内部URL“http://web03.xxx.co.jp/WebApplication01/aaa/html/index.html”を生成する。
【0068】
本実施形態の本発明システム1は、Webサーバ3jが階層構造を有する場合、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合に、アクセス履歴情報の第1位置情報と、第2外部URLから抽出する第2位置情報を簡略化(縮退)させることができるので、アクセス履歴情報の簡素化や、アクセス履歴情報の第1位置情報に対する検索効率を向上させることができる。
【0069】
更に、一般的には、全階層名が一致していなくても、ある程度の階層数の階層名が一致していれば、同じマウントポイント情報を有すると類推可能であることから、本実施形態のアドレス補完手段13のように、最上位階層からマウントポイント情報を類推可能な所定階層数以内の階層名を第2情報として抽出するように構成すれば、結果的に、第1位置情報と第2位置情報の全部が共通する場合に加え、一部のみが共通する場合にもアドレス履歴情報を一意的に検索することが可能になる。これにより、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合でも、より高確率に一意的にアドレス履歴情報を検索することができ、内部URLから第1外部URLへの変換成功率を向上させることが可能になる。
【0070】
〈第3実施形態〉
本発明システム1の第3実施形態について、図8を基に説明する。尚、本実施形態では、上記第1及び第2実施形態とは、アクセス履歴情報の第1位置情報の検索方法が異なる場合について説明する。
【0071】
本実施形態の本発明システム1は、上記第1及び第2実施形態と同様に、DMZに設置され、認証認可システムとしての機能を備えたリバースプロキシシステムである。本発明システム1は、上記第1実施形態と同様に、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、外部クライアント2の認証処理を行う認証手段14と、クライアント端末2iからマウントポイント情報を含む第1外部URLによる第1アクセス要求があった場合に、第1外部URLを内部アドレスに変換して、対応するWebサーバ3jに第1アクセス要求を受け渡す第1変換処理と、Webサーバ3jから第1アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第1外部URLに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求があった場合に、第1アクセス要求に係る第1変換処理において、第1外部URLからマウントポイント情報と第1位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段12と、クライアント端末2iから、マウントポイント情報を含まない第2外部URLによる第2アクセス要求があった場合に、第2外部URLから第2位置情報を抽出し、当該第2位置情報と一部または全部が共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第2外部URLを内部アドレスに変換するアドレス補完手段13と、インターネット等の通信ネットワーク4を介して利用者端末とデータ通信を行うための通信インターフェース10を備えて構成されている。尚、認証手段14、アドレス変換手段11、アクセス履歴記憶手段12、及び、通信インターフェース10の構成は、上記第1実施形態と同じである。
【0072】
アドレス補完手段13は、本実施形態では、図4に示すステップ#312のアドレス補完処理において、Webサーバ3jが階層構造を有し、第2位置情報をキーとしてアクセス履歴情報を検索したときに、アクセス履歴情報に第2位置情報を含む第1位置情報が検索されなかった場合に、第2位置情報を構成する階層名の内、最下位の階層名を除いたものを第2位置情報として再設定する再設定処理と、第2位置情報をキーとしてアクセス履歴情報を検索する検索処理とを、アクセス履歴情報に第2位置情報を含む第1位置情報が検索されるまで、或いは、第2位置情報の再設定が実行できなくなるまで繰り返し実行する。
【0073】
以下、本実施形態におけるアドレス補完手段13の動作について図8を基に説明する。ここで、図8は、図4に示すステップ#312の詳細な処理動作を示している。
【0074】
本実施形態のアドレス補完手段13は、図4に示すステップ#312において、先ず、第2外部URLから第2位置情報を抽出する(ステップ#321)。より具体的には、例えば、第2外部URLが“http://proxy.xxx.co.jp/WebApplication01/images/jpg/***.jpg”の場合、アドレス補完手段13は、第2位置情報として“/WebApplication01/images/jpg”を抽出する。
【0075】
続いて、アドレス補完手段13は、第2位置情報をキーとしてアクセス履歴情報を検索する(ステップ#322)。
【0076】
ステップ#323において、第2位置情報を含む第1位置情報を有するアクセス履歴情報が検索されなかった場合(ステップ#323で「NO」分岐)、アドレス補完手段13は、第2位置情報の再設定が可能か否かを判定する(ステップ#324)。
【0077】
より具体的には、例えば、現在の第2位置情報が“/WebApplication01/images/jpg”である場合、図6に示すアクセス履歴情報には、当該第2位置情報を含むアクセス履歴情報はない。この場合、第2位置情報が複数の階層名で構成されているため、アドレス補完手段13は、ステップ#324において、第2位置情報の再設定が可能であると判定する。
【0078】
ステップ#324において第2位置情報の再設定が可能であると判定した場合、即ち、第2位置情報が複数のディレクトリ名で構成される場合は(ステップ#324で「YES」分岐)、現在の第2位置情報から最下位の階層名を除いて、新たな第2位置情報として再設定する(ステップ#325)。より具体的には、アドレス補完手段13は、例えば、現在の第2位置情報が“/WebApplication01/images/jpg”の場合、最下位の階層名“jpg”を除いた“/WebApplication01/images”を新たな第2位置情報として再設定する。
【0079】
ステップ#324において第2位置情報の再設定が可能ではない判定した場合は、アドレス補完手段13は、マウントポイント情報の補完が正常に実行できないとして、エラー情報を出力する。この場合、本発明システム1は、クライアント端末に対し、エラー情報を出力する。
【0080】
ステップ#323において、第2位置情報を含む第1位置情報を有するアクセス履歴情報が検索された場合(ステップ#323で「YES」分岐)、アドレス補完手段13は、検索されたアクセス履歴情報からマウントポイント情報を抽出し(ステップ#327)、抽出したマウントポイント情報を用いて第2外部URLを内部URLに変換する(ステップ#328)。
【0081】
より具体的には、例えば、ステップ#325で再設定された第2位置情報“/WebApplication01/images”は、図6に示すNo3のアクセス履歴情報の第1位置情報に含まれる。この場合、アドレス補完手段13は、No3のアクセス履歴情報からマウントポイント情報“web01”を抽出する。アドレス補完手段13は、抽出したマウントポイント情報“web01”を用いて、第2外部URL“http://proxy.xxx.co.jp/WebApplication01/images/jpg/***.jpg”を、内部URL“http://web01.xxx.co.jp/WebApplication01/images/jpg/***.jpg”に補完する。
【0082】
尚、本実施形態では、説明のために、アクセス履歴記憶手段12が上記第1実施形態と同じ構成である場合を想定して説明したが、第2実施形態と同様に、最上位階層から所定階層数の階層名を第1位置情報として抽出するように構成しても良い。
【0083】
また、本実施形態では、アドレス補完手段13を、アクセス履歴情報が検索されなかった場合に、最下位の階層名を除いた第2位置情報を新たな第2位置情報として設定する再設定処理と、新たな第2位置情報を用いた検索処理を実行するように構成したので、上記第2実施形態と同様に、第1位置情報と第2位置情報の全部が共通する場合に加え、一部のみが共通する場合にもアドレス履歴情報を一意的に検索することが可能になる。これにより、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合でも、より高確率に一意的にアドレス履歴情報を検索することができ、内部URLから第1外部URLへの変換成功率を向上させることが可能になる。
【0084】
〈第4実施形態〉
本発明システム1の第3実施形態について、図9を基に説明する。尚、本実施形態では、上記第2実施形態とは、アクセス履歴記憶手段12におけるアクセス履歴情報の生成方法が異なる場合について説明する。
【0085】
本発明システム1は、上記第1実施形態と同様に、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、外部クライアント2の認証処理を行う認証手段14と、クライアント端末2iからマウントポイント情報を含む第1外部URLによる第1アクセス要求があった場合に、第1外部URLを内部アドレスに変換して、対応するWebサーバ3jに第1アクセス要求を受け渡す第1変換処理と、Webサーバ3jから第1アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第1外部URLに変換する第2変換処理を実行するアドレス変換手段11と、第1アクセス要求があった場合に、第1アクセス要求に係る第1変換処理において、第1外部URLからマウントポイント情報と第1位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段12と、クライアント端末2iから、マウントポイント情報を含まない第2外部URLによる第2アクセス要求があった場合に、第2外部URLから第2位置情報を抽出し、当該第2位置情報と一部または全部が共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第2外部URLを内部アドレスに変換するアドレス補完手段13と、インターネット等の通信ネットワーク4を介して利用者端末とデータ通信を行うための通信インターフェース10を備えて構成されている。尚、認証手段14、アドレス変換手段11、アドレス補完手段13、及び、通信インターフェース10の構成は、上記第2または第3実施形態の何れかと同じである。
【0086】
アクセス履歴記憶手段12は、本実施形態では、内部サーバ3が階層構造を有する場合に、第1位置情報が複数の階層名で構成されるアクセス履歴情報の夫々について、第1位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、部分位置情報とマウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、部分位置情報を第1位置情報として統合対象アクセス履歴情報を統合する統合処理を実行する。
【0087】
以下、本実施形態におけるアクセス履歴記憶手段12の統合処理について、図9を基に説明する。ここで、図9(a)は、統合前のアクセス履歴情報の一例を示しており、図9(b)は、統合後のアクセス履歴情報の一例を示している。尚、本実施形態では、説明のため、特に、ユーザIDが“1234567”であり、マウントポイント情報が“web03”であるアクセス履歴情報を統合する場合について説明する。
【0088】
より具体的には、図9(a)には、ユーザIDが“1234567”及びマウントポイント情報“web03”のアクセス履歴情報として、NO4のアクセス履歴情報とNO5のアクセス履歴情報が記憶されている。アクセス履歴記憶手段12は、NO4の第1位置情報の階層数が3であり、NO5の第1位置情報の階層数が4であることから、例えば、部分位置情報の階層数を3に設定して、部分位置情報を夫々比較する。この場合には、NO4の部分位置情報は“/WebApplication01/aaa/html”となり、NO5の部分位置情報は“/WebApplication01/aaa/images”となり、一致しない。
【0089】
部分位置情報が一致しない場合、アクセス履歴記憶手段12は、部分位置情報の階層数を2に再設定して、部分位置情報を夫々比較する。この場合、NO4の部分位置情報は“/WebApplication01/aaa”となり、NO5の部分位置情報は“/WebApplication01/aaa”となり、完全に一致する。
【0090】
部分位置情報が一致した場合、アクセス履歴記憶手段12は、部分位置情報が一致したアクセス履歴情報を統合する。詳細には、部分位置情報が一致したアクセス履歴情報の内、最新のアクセス日時を有するアクセス履歴情報の第1位置情報を部分位置情報に置き換え、他のアクセス履歴情報を削除する。より具体的には、例えば、NO4のアクセス履歴情報の部分位置情報“/WebApplication01/aaa”を第1位置情報として、NO5のアクセス履歴情報を削除する。ここで、図9(b)は、統合後のアクセス履歴情報の一例を示している。これにより、アクセス履歴情報を統合することができ、アドレス補完手段13において検索処理等を効率よく実施することが可能になる。
【0091】
〈別実施形態〉
〈1〉上記第1〜第4実施形態では、第1変換処理においてアクセス履歴情報を記憶する場合について説明したが、これに限るものではない。第2変換処理においてアクセス履歴情報を記憶するように構成しても良いし、第1変換処理及び第2変換処理の両方において夫々アクセス履歴情報を記憶し、比較するように構成しても良い。
【0092】
〈2〉上記第1〜第4実施形態では、アクセス履歴記憶手段12が、アクセス履歴情報を記憶する際に、アクセス日時以外の情報が完全に一致するアクセス履歴情報がある場合に、既に記憶されているアクセス履歴情報のアクセス日時を更新するように構成したが、これに限るものではない。例えば、アクセス履歴情報を全て記憶しておき、所定の時間条件範囲内のアクセス履歴情報、例えば、過去1年以内に記憶されたアクセス履歴情報を利用する、或いは、アクセス日時以外の情報が完全に一致するアクセス履歴情報の内、最新のアクセス履歴情報のみを利用するように構成しても良い。
【0093】
〈3〉上記第1〜第4実施形態において、外部クライアント2及び内部サーバ3の夫々に、例えば、外部クライアント2の役職や部署名、内部サーバ3の機密度等に応じてセキュリティレベルを設定し、外部クライアント2毎に、セキュリティレベルに応じて、内部サーバ3別、或いは、内部サーバ3のコンテンツ別にアクセス要求の許可及び禁止を設定するように構成しても良い。
【0094】
このような場合には、同じ或いは所定範囲のセキュリティレベルが設定された1または複数の外部クライアント2で構成される1または複数のセキュリティグループを設定し、アドレス補完手段13を、外部クライアント2別ではなく、第2アクセス要求を行った外部クライアント2と同じセキュリティグループに属する外部クライアント2のユーザIDが記憶されているアクセス要求履歴を用いて、第2外部URLを内部アドレスに変換するように構成しても良い。また、アクセス要求履歴にアクセス日時等の時間情報が記憶されている場合には、外部クライアント2のセキュリティレベル別に、内部サーバ3別やコンテンツ別に時間条件を設定しても良い。
【0095】
更に、セキュリティグループ別のアクセス要求履歴を用いて第2外部URLを内部アドレスに変換するように構成する場合には、アクセス履歴情報を、セキュリティグループ別に作成するように構成しても良い。
【図面の簡単な説明】
【0096】
【図1】本発明に係るリバースプロキシシステムとその周辺装置の一構成例を示す概略ブロック図
【図2】本発明に係るリバースプロキシシステムの概略構成例を示す概略ブロック図
【図3】内部サーバの階層構造例を示す概略ブロック図
【図4】本発明に係るリバースプロキシシステム及び周辺装置の処理動作の概略を示す概略フロー図
【図5】本発明に係るリバースプロキシシステムで用いるマウントポイント情報テーブルの一例を示す図
【図6】本発明に係るリバースプロキシシステムの第1実施形態で生成するアクセス履歴情報の概略構成例を示す概略ブロック図
【図7】本発明に係るリバースプロキシシステムの第2実施形態で生成するアクセス履歴情報の概略構成例を示す概略ブロック図
【図8】本発明に係るリバースプロキシシステムの第3実施形態におけるマウントポイント情報の補完に係る処理動作の概略を示す概略フロー図
【図9】本発明に係るリバースプロキシシステムの第4実施形態における統合前のアクセス履歴情報と統合後のアクセス履歴情報の概略構成例を示す概略ブロック図
【図10】従来技術に係るリバースプロキシシステムとその周辺装置の一構成例を示す概略ブロック図
【図11】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【図12】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【図13】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【符号の説明】
【0097】
1 本発明に係るリバースプロキシシステム
2 外部クライアント
2i クライアント端末
3 内部サーバ
3j Webサーバ
4 通信ネットワーク
5 内部LAN
10 通信インターフェース
11 アドレス変換手段
12 アクセス履歴記憶手段
13 アドレス補完手段
14 認証手段
15 記憶手段
100 従来技術に係るリバースプロキシシステム
【特許請求の範囲】
【請求項1】
外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムであって、
前記外部クライアントから、前記内部サーバを特定するマウントポイント情報を含む第1外部アドレスによる第1アクセス要求があった場合に、前記マウントポイント情報を用いて前記第1外部アドレスを前記内部サーバに固有の内部アドレスに変換して、対応する前記内部サーバに前記第1アクセス要求を受け渡す第1変換処理と、前記内部サーバから前記外部クライアントの前記第1アクセス要求に対する応答があった場合に、前記応答にかかる前記内部アドレスを、前記マウントポイント情報を含む前記第1外部アドレスに変換する第2変換処理を実行するアドレス変換手段と、
前記第1アクセス要求があった場合に、前記第1アクセス要求に係る前記第1変換処理または前記第2変換処理の少なくとも何れか一方において、前記第1外部アドレスから前記マウントポイント情報と前記第1アクセス要求の対象ファイルの位置を示す第1位置情報とを抽出し、前記マウントポイント情報と前記第1位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段と、
前記外部クライアントから、前記マウントポイント情報を含まない第2外部アドレスによる第2アクセス要求があった場合に、前記第2外部アドレスから前記第2アクセス要求の対象ファイルの位置を示す第2位置情報を抽出し、前記第2位置情報をキーとして前記第2位置情報と一部または全部が共通する前記第1位置情報を有する前記アクセス履歴情報を検索して前記マウントポイント情報を抽出し、当該マウントポイント情報を用いて、前記第2外部アドレスを前記内部アドレスに変換するアドレス補完手段と、
を備えることを特徴とするリバースプロキシシステム。
【請求項2】
前記外部クライアント別に前記外部クライアントに固有のクライアント識別情報を記憶した認証情報データベースを備え、前記外部クライアントから前記内部サーバへの前記アクセス要求があった場合に、前記アクセス要求を行った認証対象の前記外部クライアントから前記外部クライアントの前記クライアント識別情報を取得し、前記認証情報データベースに認証対象の前記外部クライアントの前記クライアント識別情報が記憶されている場合に前記外部クライアントを認証する認証手段を備え、
前記アクセス履歴記憶手段が、前記クライアント識別情報を前記アクセス履歴情報と対応付けて記憶し、
前記アドレス補完手段が、前記第2アクセス要求を行った前記外部クライアントの前記クライアント識別情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを特徴とする請求項1に記載のリバースプロキシシステム。
【請求項3】
前記アクセス履歴記憶手段が、前記第1アクセス要求のあった時間を示す時間情報を前記アクセス履歴情報と対応付けて記憶し、
前記アドレス補完手段が、所定の時間条件範囲内の前記時間情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを特徴とする請求項1または2に記載のリバースプロキシシステム。
【請求項4】
前記アクセス履歴記憶手段が、前記第1外部アドレスから取得した前記マウントポイント情報及び前記第1位置情報を前記アクセス履歴情報として記憶するときに、同じ前記マウントポイント情報及び前記第1位置情報を有する前記アクセス履歴情報が記憶されている場合は、既に記憶されている前記アクセス履歴情報の前記時間情報を、新たな前記第1アクセス要求の前記時間情報に更新することを特徴とする請求項3に記載のリバースプロキシシステム。
【請求項5】
前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第1位置情報として抽出することを特徴とする請求項1〜4の何れか1項に記載のリバースプロキシシステム。
【請求項6】
前記アドレス補完手段が、前記内部サーバが階層構造を有する場合に、前記第2外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第2位置情報として抽出することを特徴とする請求項5に記載のリバースプロキシシステム。
【請求項7】
前記アドレス補完手段が、前記内部サーバが階層構造を有し、前記第2位置情報をキーとして前記アクセス履歴情報を検索したときに、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されなかった場合に、前記第2位置情報を構成する前記階層名の内、最下位の前記階層名を除いたものを前記第2位置情報として再設定する再設定処理と、前記第2位置情報をキーとして前記アクセス履歴情報を検索する検索処理とを、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されるまで、或いは、前記第2位置情報の再設定が実行できなくなるまで繰り返し実行することを特徴とする請求項1〜6の何れか1項に記載のリバースプロキシシステム。
【請求項8】
前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1位置情報が複数の階層名で構成される前記アクセス履歴情報の夫々について、前記第1位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、
前記部分位置情報と前記マウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、前記部分位置情報を前記第1位置情報として前記統合対象アクセス履歴情報を統合する統合処理を実行することを特徴とする請求項7に記載のリバースプロキシシステム。
【請求項1】
外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムであって、
前記外部クライアントから、前記内部サーバを特定するマウントポイント情報を含む第1外部アドレスによる第1アクセス要求があった場合に、前記マウントポイント情報を用いて前記第1外部アドレスを前記内部サーバに固有の内部アドレスに変換して、対応する前記内部サーバに前記第1アクセス要求を受け渡す第1変換処理と、前記内部サーバから前記外部クライアントの前記第1アクセス要求に対する応答があった場合に、前記応答にかかる前記内部アドレスを、前記マウントポイント情報を含む前記第1外部アドレスに変換する第2変換処理を実行するアドレス変換手段と、
前記第1アクセス要求があった場合に、前記第1アクセス要求に係る前記第1変換処理または前記第2変換処理の少なくとも何れか一方において、前記第1外部アドレスから前記マウントポイント情報と前記第1アクセス要求の対象ファイルの位置を示す第1位置情報とを抽出し、前記マウントポイント情報と前記第1位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段と、
前記外部クライアントから、前記マウントポイント情報を含まない第2外部アドレスによる第2アクセス要求があった場合に、前記第2外部アドレスから前記第2アクセス要求の対象ファイルの位置を示す第2位置情報を抽出し、前記第2位置情報をキーとして前記第2位置情報と一部または全部が共通する前記第1位置情報を有する前記アクセス履歴情報を検索して前記マウントポイント情報を抽出し、当該マウントポイント情報を用いて、前記第2外部アドレスを前記内部アドレスに変換するアドレス補完手段と、
を備えることを特徴とするリバースプロキシシステム。
【請求項2】
前記外部クライアント別に前記外部クライアントに固有のクライアント識別情報を記憶した認証情報データベースを備え、前記外部クライアントから前記内部サーバへの前記アクセス要求があった場合に、前記アクセス要求を行った認証対象の前記外部クライアントから前記外部クライアントの前記クライアント識別情報を取得し、前記認証情報データベースに認証対象の前記外部クライアントの前記クライアント識別情報が記憶されている場合に前記外部クライアントを認証する認証手段を備え、
前記アクセス履歴記憶手段が、前記クライアント識別情報を前記アクセス履歴情報と対応付けて記憶し、
前記アドレス補完手段が、前記第2アクセス要求を行った前記外部クライアントの前記クライアント識別情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを特徴とする請求項1に記載のリバースプロキシシステム。
【請求項3】
前記アクセス履歴記憶手段が、前記第1アクセス要求のあった時間を示す時間情報を前記アクセス履歴情報と対応付けて記憶し、
前記アドレス補完手段が、所定の時間条件範囲内の前記時間情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを特徴とする請求項1または2に記載のリバースプロキシシステム。
【請求項4】
前記アクセス履歴記憶手段が、前記第1外部アドレスから取得した前記マウントポイント情報及び前記第1位置情報を前記アクセス履歴情報として記憶するときに、同じ前記マウントポイント情報及び前記第1位置情報を有する前記アクセス履歴情報が記憶されている場合は、既に記憶されている前記アクセス履歴情報の前記時間情報を、新たな前記第1アクセス要求の前記時間情報に更新することを特徴とする請求項3に記載のリバースプロキシシステム。
【請求項5】
前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第1位置情報として抽出することを特徴とする請求項1〜4の何れか1項に記載のリバースプロキシシステム。
【請求項6】
前記アドレス補完手段が、前記内部サーバが階層構造を有する場合に、前記第2外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第2位置情報として抽出することを特徴とする請求項5に記載のリバースプロキシシステム。
【請求項7】
前記アドレス補完手段が、前記内部サーバが階層構造を有し、前記第2位置情報をキーとして前記アクセス履歴情報を検索したときに、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されなかった場合に、前記第2位置情報を構成する前記階層名の内、最下位の前記階層名を除いたものを前記第2位置情報として再設定する再設定処理と、前記第2位置情報をキーとして前記アクセス履歴情報を検索する検索処理とを、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されるまで、或いは、前記第2位置情報の再設定が実行できなくなるまで繰り返し実行することを特徴とする請求項1〜6の何れか1項に記載のリバースプロキシシステム。
【請求項8】
前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1位置情報が複数の階層名で構成される前記アクセス履歴情報の夫々について、前記第1位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、
前記部分位置情報と前記マウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、前記部分位置情報を前記第1位置情報として前記統合対象アクセス履歴情報を統合する統合処理を実行することを特徴とする請求項7に記載のリバースプロキシシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2009−223608(P2009−223608A)
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2008−67190(P2008−67190)
【出願日】平成20年3月17日(2008.3.17)
【出願人】(000000284)大阪瓦斯株式会社 (2,453)
【Fターム(参考)】
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願日】平成20年3月17日(2008.3.17)
【出願人】(000000284)大阪瓦斯株式会社 (2,453)
【Fターム(参考)】
[ Back to top ]