JP5049172B2 - Reverse proxy system - Google Patents
Reverse proxy system Download PDFInfo
- Publication number
- JP5049172B2 JP5049172B2 JP2008067190A JP2008067190A JP5049172B2 JP 5049172 B2 JP5049172 B2 JP 5049172B2 JP 2008067190 A JP2008067190 A JP 2008067190A JP 2008067190 A JP2008067190 A JP 2008067190A JP 5049172 B2 JP5049172 B2 JP 5049172B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- address
- access history
- external
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムに関する。 The present invention relates to a reverse proxy system using a reverse proxy that relays an access request from an external client to an internal server.
外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムでは、外部クライアントから内部サーバに対するアクセス要求が必ずリバースプロキシシステムを介して行われることから、外部クライアントが直接的に内部サーバにアクセスすることがない。このため、リバースプロキシシステムに、アクセス要求を行った外部クライアントが内部サーバへのアクセスを許容されているか否かをチェックする外部クライアントに対する認証機能や、中継するデータの内容をチェックする機能を持たせることにより、セキュリティの強化が可能になる。 In a reverse proxy system using a reverse proxy that relays an access request from an external client to an internal server, an access request from the external client to the internal server is always made through the reverse proxy system. There is no access to the server. For this reason, the reverse proxy system is provided with an authentication function for an external client that checks whether or not the external client that made the access request is permitted to access the internal server, and a function for checking the content of data to be relayed. As a result, security can be enhanced.
以下、リバースプロキシシステムの動作例について図10を基に簡単に説明する。ここで、図10は、従来のリバースプロキシシステム100とその周辺装置の一構成例を示している。 Hereinafter, an operation example of the reverse proxy system will be briefly described with reference to FIG. Here, FIG. 10 shows a configuration example of the conventional reverse proxy system 100 and its peripheral devices.
リバースプロキシシステム100は、DMZ(DeMilitarized Zone、非武装地帯)に設置され、外部クライアント2が操作するクライアント端末2i(i=1〜m)とインターネット等の通信ネットワーク4を介してアクセス可能に構成され、クライアント端末2iから内部サーバ3の一例としてのWebサーバ3j(j=1〜n)に対するアクセス要求を中継するように構成されている。
The reverse proxy system 100 is installed in a DMZ (DeMilitized Zone, demilitarized zone), and is configured to be accessible via a
尚、図10に示すリバースプロキシシステム100は、内部サーバ3にアクセスするためにクライアント端末2iが指定する外部URLと、実際に内部サーバ3が有する内部URLとが異なっている。リバースプロキシシステム100は、外部クライアント2から内部サーバ3に対するアクセス要求(上り)では、外部URLを内部URLに変換し、内部サーバ3から外部クライアント2への応答(下り)では、内部URLを外部URLに変換する。
In the reverse proxy system 100 shown in FIG. 10, the external URL specified by the client terminal 2 i for accessing the
ここでの外部URLは、“http://[リバースプロキシシステム100のURL]/[リバースプロキシシステムがアクセス要求を中継する内部サーバ3を特定するためのマウントポイント]/”で規定されている。例えば、図10に示すWebサーバ3jの場合、外部URLは“http://proxy.xxx.co.jp/web0j/”であり、内部URLは“http://web0j.xxx.co.jp/”であり、マウントポイントは“web0j”である。
The external URL here is defined by “http: // [URL of the reverse proxy system 100] / [Mount point for specifying the
より具体的には、リバースプロキシシステム100は、例えば、クライアント端末21により、“http://proxy.xxx.co.jp/web01/”に対するアクセス要求(上り)があった場合、先ず、当該外部URLからマウントポイント“web01”を抽出する。続いて、リバースプロキシシステム100は、外部URLを、マウントポイント“web01”が示すWebサーバ31の内部URL“http://web01.xxx.co.jp/”に置き換える。
More specifically, for example, when the
更に、リバースプロキシシステム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/”に置き換える。
Furthermore, when the content is returned from the
ところで、リバースプロキシシステムでは、一般的に、例えば、テキスト形式のデータの場合には、データ内部に記述された内部URLを外部URLに置き換えることは可能であるが、Javascript(登録商標)等のプログラミング言語で記述されたプログラムの内部URLを外部URLに置き換えることは非常に困難である。 By the way, in the reverse proxy system, generally, for example, in the case of text format data, it is possible to replace the internal URL described in the data with the external URL, but programming such as Javascript (registered trademark) is possible. It is very difficult to replace an internal URL of a program written in a language with an external URL.
このため、リバースプロキシシステムに適合するように開発されていないWebサーバの場合、例えば、クライアント端末上でURLを生成するプログラムを含むコンテンツが、外部URLを正しく生成できない場合がある。より具体的には、Webサーバが、クライアント端末上でURLを生成するプログラムを含むコンテンツをクライアント端末に返した場合、クライアント端末上で、当該プログラムにより、マウントポイントの欠落した情報欠落URLが生成される可能性がある。このような場合には、クライアント端末が、生成された情報欠落URLに基づいて、再度、リバースプロキシシステムにアクセスしようとすると、リバースプロキシシステムは情報欠落URLを正しく内部URLに変換できない場合があるという問題があった。 For this reason, in the case of a Web server that has not been developed so as to be compatible with the reverse proxy system, for example, content including a program that generates a URL on a client terminal may not correctly generate an external URL. More specifically, when the Web server returns content including a program for generating a URL on the client terminal to the client terminal, an information-missing URL with a missing mount point is generated by the program on the client terminal. There is a possibility. In such a case, if the client terminal tries to access the reverse proxy system again based on the generated information missing URL, the reverse proxy system may not correctly convert the information missing URL into an internal URL. There was a problem.
これに対し、マウントポイントの補完のための技術としては、例えば、外部クライアントからのアクセス要求を中継する全てのWebサーバの夫々について、Webサーバに固有のキーワードを設定し、Webサーバとキーワードの関係を示した対応テーブルを予め準備しておき、内部URLを外部URLに変換する際に、マウントポイントとキーワードを含む外部URLを生成し、マウントポイントが欠落した外部URLによるアクセス要求があった場合に、当該マウントポイントが欠落した外部URLから抽出したキーワードを用いて対応テーブルを検索してマウントポイントを取得し、当該マウントポイントを用いて外部URLを補完するリバースプロキシシステムがある。ここで、図11は、対応テーブルによるマウント補完を行うリバースプロキシシステムの動作の概要について示している。ここでは、キーワードは、各Webサーバの最上位ディレクトリ名と一致している。 On the other hand, as a technique for complementing the mount point, for example, a keyword unique to the Web server is set for each of all Web servers that relay access requests from external clients, and the relationship between the Web server and the keyword When an internal URL is converted into an external URL, an external URL including a mount point and a keyword is generated, and an access request is received from the external URL with a missing mount point. There is a reverse proxy system that searches a correspondence table using a keyword extracted from an external URL lacking the mount point, acquires the mount point, and supplements the external URL using the mount point. Here, FIG. 11 shows an outline of the operation of the reverse proxy system that performs mount complementation using the correspondence table. Here, the keyword matches the top directory name of each Web server.
また、マウントポイントの補完のための技術としては、例えば、Webサーバから外部クライアントに対する応答(下り)において、Cookieにマウントポイントを保存しておき、前記外部クライアントから前記Webサーバに対するアクセス要求があったときに、マウントポイントが欠落していると認められた場合、Cookieに保存されたマウントポイントを用いて内部URLを生成するリバースプロキシシステムが提案されている(例えば、特許文献1参照)。ここで、図12は、特許文献1に記載のリバースプロキシシステムの動作の概要について示している。
As a technique for complementing the mount point, for example, in the response (downstream) from the Web server to the external client, the mount point is stored in Cookie, and there is an access request from the external client to the Web server. In some cases, a reverse proxy system has been proposed that generates an internal URL using a mount point stored in Cookie when it is recognized that a mount point is missing (see, for example, Patent Document 1). Here, FIG. 12 shows an outline of the operation of the reverse proxy system described in
しかしながら、図11に示す対応テーブルによるマウントポイントの補完を行うリバースプロキシシステムの場合、Webサーバに固有のキーワード(ディレクトリ名)を設定する必要があるため、Webサーバの開発において、他のWebサーバとの調整が不可欠となり、Webサーバの開発に手間がかかる。また、既存のWebサーバについては、最上位ディレクトリのディレクトリ名を変更する必要が生じる場合があり、適用することが困難である。 However, in the case of a reverse proxy system that performs mount point complementation using the correspondence table shown in FIG. 11, it is necessary to set a keyword (directory name) unique to the Web server. Adjustment is indispensable, and it takes time to develop a Web server. In addition, for an existing Web server, it may be necessary to change the directory name of the top directory, which is difficult to apply.
また、上記特許文献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/”と補完されることとなり、マウントポイントを正しく補完できない。
Also, in the case of the reverse proxy system that performs mount point complementation by Cookie described in
本発明は上記の問題に鑑みてなされたものであり、その目的は、内部サーバ側で特別な開発を行う必要がなく、且つ、Cookieを利用することなく、より正確にマウントポイント情報の補完を行うことができるリバースプロキシシステムを提供する点にある。 The present invention has been made in view of the above-described problems, and the purpose thereof is to perform mount point information complementation more accurately without requiring special development on the internal server side and without using Cookie. It is in providing a reverse proxy system that can be performed.
上記目的を達成するための本発明に係るリバースプロキシシステムは、外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムであって、前記外部クライアントから、前記内部サーバを特定するマウントポイント情報を含む第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の特徴とする。 In order to achieve the above object, a reverse proxy system according to the present invention is a reverse proxy system using a reverse proxy that relays an access request from an external client to an internal server, and identifies the internal server from the external client. When there is a first access request with a first external address including mount point information, the first external address is converted into an internal address unique to the internal server using the mount point information, and the corresponding When there is a first conversion process for delivering the first access request to an internal server, and when there is a response from the internal server to the first access request of the external client, the internal address related to the response is changed to the mount point. Second to convert to the first external address containing information An address conversion unit that executes conversion processing, and when there is the first access request, at least one of the first conversion processing and the second conversion processing related to the first access request, An access history in which the mount point information and first location information indicating the location of the target file of the first access request are extracted from an address, and the mount point information and the first location information are stored in association with each other as access history information When there is a second access request from the storage unit and the external client with a second external address that does not include the mount point information, the second external address indicates the location of the target file of the second access request. 2 position information is extracted, and the second position information and a part or all of the second position information are extracted using the second position information as a key. Address complement means for searching the access history information having the first location information to pass through, extracting the mount point information, and converting the second external address to the internal address using the mount point information; The first feature is to include
上記特徴の本発明に係るリバースプロキシシステムは、前記外部クライアント別に前記外部クライアントに固有のクライアント識別情報を記憶した認証情報データベースを備え、前記外部クライアントから前記内部サーバへの前記アクセス要求があった場合に、前記アクセス要求を行った認証対象の前記外部クライアントから前記外部クライアントの前記クライアント識別情報を取得し、前記認証情報データベースに認証対象の前記外部クライアントの前記クライアント識別情報が記憶されている場合に前記外部クライアントを認証する認証手段を備え、前記アクセス履歴記憶手段が、前記クライアント識別情報を前記アクセス履歴情報と対応付けて記憶し、前記アドレス補完手段が、前記第2アクセス要求を行った前記外部クライアントの前記クライアント識別情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを第2の特徴とする。 The reverse proxy system according to the present invention having the above characteristics includes an authentication information database storing client identification information unique to the external client for each external client, and the access request from the external client to the internal server is made When the client identification information of the external client is acquired from the external client to be authenticated that has made the access request, and the client identification information of the external client to be authenticated is stored in the authentication information database. An authentication unit that authenticates the external client, wherein the access history storage unit stores the client identification information in association with the access history information, and the address complementing unit performs the second access request. Client Using the access history information having the serial client identification information, the second characterized by converting the second external address to said internal address.
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記第1アクセス要求のあった時間を示す時間情報を前記アクセス履歴情報と対応付けて記憶し、前記アドレス補完手段が、所定の時間条件範囲内の前記時間情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを第3の特徴とする。 In the reverse proxy system according to the present invention of any one of the above features, the access history storage unit stores time information indicating a time when the first access request is made in association with the access history information, and the address complement A third feature is that the means converts the second external address into the internal address using the access history information having the time information within a predetermined time condition range.
上記特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記第1外部アドレスから取得した前記マウントポイント情報及び前記第1位置情報を前記アクセス履歴情報として記憶するときに、同じ前記マウントポイント情報及び前記第1位置情報を有する前記アクセス履歴情報が記憶されている場合は、既に記憶されている前記アクセス履歴情報の前記時間情報を、新たな前記第1アクセス要求の前記時間情報に更新することを第4の特徴とする。 In the reverse proxy system according to the present invention having the above characteristics, when the access history storage unit stores the mount point information and the first location information acquired from the first external address as the access history information, the same When the access history information having the mount point information and the first position information is stored, the time information of the access history information already stored is used as the time information of the new first access request. Updating is a fourth feature.
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第1位置情報として抽出することを第5の特徴とする。 In the reverse proxy system according to the present invention having any one of the above features, the access history storage means is preset from the first external address from the highest level in the internal server when the internal server has a hierarchical structure. A fifth feature is that a layer name within a predetermined number of layers is extracted as the first position information.
上記特徴の本発明に係るリバースプロキシシステムは、前記アドレス補完手段が、前記内部サーバが階層構造を有する場合に、前記第2外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第2位置情報として抽出することを第6の特徴とする。 In the reverse proxy system according to the present invention having the above characteristics, when the address complementing unit has a hierarchical structure, the predetermined number of hierarchies set in advance from the second highest external address from the second external address when the internal server has a hierarchical structure. It is a sixth feature that an inner hierarchical name is extracted as the second position information.
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アドレス補完手段が、前記内部サーバが階層構造を有し、前記第2位置情報をキーとして前記アクセス履歴情報を検索したときに、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されなかった場合に、前記第2位置情報を構成する前記階層名の内、最下位の前記階層名を除いたものを前記第2位置情報として再設定する再設定処理と、前記第2位置情報をキーとして前記アクセス履歴情報を検索する検索処理とを、前記アクセス履歴情報に前記第2位置情報を含む前記第1位置情報が検索されるまで、或いは、前記第2位置情報の再設定が実行できなくなるまで繰り返し実行することを第7の特徴とする。 In the reverse proxy system according to the present invention of any one of the above features, when the address complementing unit searches the access history information using the second location information as a key when the internal server has a hierarchical structure, When the first location information including the second location information in the access history information is not searched, the hierarchy name constituting the second location information except the lowest hierarchy name is A reset process for resetting as the second position information; a search process for searching for the access history information using the second position information as a key; and the first position information including the second position information in the access history information. It is a seventh feature that the second position information is repeatedly executed until the second position information cannot be reset or is searched.
上記特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第1位置情報が複数の階層名で構成される前記アクセス履歴情報の夫々について、前記第1位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、前記部分位置情報と前記マウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、前記部分位置情報を前記第1位置情報として前記統合対象アクセス履歴情報を統合する統合処理を実行することを第8の特徴とする。 In the reverse proxy system according to the present invention having the above characteristics, each of the access history information is configured so that the access history storage means includes a plurality of hierarchical names in the first location information when the internal server has a hierarchical structure. In the first position information, partial position information composed of hierarchical names of a predetermined number of layers from the top is obtained, and there are a plurality of integration target access history information in which the partial position information and the mount point information completely match. In an eighth aspect, an eighth feature is that an integration process of integrating the integration target access history information using the partial position information as the first position information is executed.
上記特徴のリバースプロキシシステムによれば、マウントポイント情報を含む第1外部アドレスによるアクセス要求があった場合に、マウントポイント情報とアクセス要求対象の第1位置情報を対応付けてアクセス履歴情報として記憶し、当該アクセス履歴情報を用いてマウントポイント情報の欠落した第2外部アドレスを補完するように構成したので、従来技術のように、Webサーバにキーワードを設定する等、Webサーバ側において特別な開発や変更作業を必要としないため、既存のリバースプロキシシステムにより容易に適用できる。 According to the reverse proxy system of the above feature, when there is an access request by the first external address including the mount point information, the mount point information and the first location information of the access request target are associated and stored as access history information. Since the second external address lacking the mount point information is supplemented using the access history information, special development on the Web server side, such as setting a keyword in the Web server, as in the prior art, Since no change work is required, it can be easily applied by an existing reverse proxy system.
また、上記特徴のリバースプロキシシステムによれば、アクセス履歴情報を用いてマウントポイント情報の欠落した第2外部アドレスを補完するように構成したので、Cookieを利用せず、より正確にマウントポイント情報の補完を行うことが可能になる。 Further, according to the reverse proxy system having the above characteristics, since the second external address lacking the mount point information is supplemented using the access history information, the mount point information can be more accurately detected without using Cookie. It becomes possible to complement.
上記第2の特徴のリバースプロキシシステムによれば、外部クライアントの認証を行う認証手段を利用し、第1アクセス要求があった場合にクライアント識別情報と対応づけてアクセス履歴情報を作成するので、例えば、複数の内部サーバで同じディレクトリ名が用いられており、複数の外部クライアントから同時に内部サーバに対する第2アクセス要求があった場合でも、外部クライアントのアクセス要求先をより正確に類推することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。 According to the reverse proxy system of the second feature, the access history information is created in association with the client identification information when there is a first access request using an authentication means for authenticating an external client. The same directory name is used in multiple internal servers, and even when there are second access requests from multiple external clients to the internal server at the same time, it is possible to more accurately infer the access request destination of the external client Thus, it becomes possible to complement the mount point information more accurately.
上記第3の特徴のリバースプロキシシステムによれば、第1アクセス要求があった時間を示す時間情報をクライアント識別情報と対応づけてアクセス履歴情報を作成するので、例えば、複数の内部サーバで同じディレクトリ名が用いられており、複数の外部クライアントから同時に内部サーバに対する第2アクセス要求があった場合でも、外部クライアントのアクセス要求先をより正確に類推することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。 According to the reverse proxy system of the third feature, the access history information is created by associating the time information indicating the time when the first access request was made with the client identification information. The name is used, and even when there is a second access request to the internal server from multiple external clients at the same time, it is possible to more accurately infer the access request destination of the external client and mount point information more accurately. It becomes possible to perform complementation.
また、上記第4の特徴のリバースプロキシシステムによれば、時間情報に基づき、最新のアクセス履歴情報を記憶するので、一定期間以上経過し信頼性の低くなったと考えられるアクセス履歴情報を除外することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。 Also, according to the reverse proxy system of the fourth feature, the latest access history information is stored based on the time information, so that access history information considered to have become less reliable after a certain period of time is excluded. And mount point information can be complemented more accurately.
上記第5の特徴のリバースプロキシシステムによれば、内部サーバが階層構造を有する場合に、第1外部アドレスから、最上位階層から予め設定された所定階層数以内の階層名を第1位置情報として抽出するため、アクセス履歴情報の作成及び検索における処理効率を高めることができる。尚、一般的に、アクセス要求対象のコンテンツの位置情報は、深いほど信頼性が高くなるといえるが、ある程度の深さ以上であれば、信頼性は十分に確保できると考えられる。従って、上記第5の特徴のリバースプロキシシステムの如く、最上位階層から所定階層以内の階層名を第1位置情報として抽出するように構成した場合、アクセス履歴情報の信頼性を低下させることなく、アクセス履歴情報の作成及び検索における処理効率を高めることが可能になる。 According to the reverse proxy system of the fifth feature, when the internal server has a hierarchical structure, a hierarchical name within a predetermined number of layers set in advance from the highest hierarchical level is used as the first location information from the first external address. As a result of the extraction, the processing efficiency in creating and searching access history information can be improved. In general, it can be said that the position information of the content to be requested for access has a higher reliability as it is deeper. Therefore, as in the reverse proxy system of the fifth feature, when configured to extract the hierarchy name within the predetermined hierarchy from the highest hierarchy as the first position information, without reducing the reliability of the access history information, It becomes possible to increase the processing efficiency in creation and retrieval of access history information.
また、上記第6の特徴のリバースプロキシシステムによれば、第2外部アドレスから、最上位階層から所定階層以内の階層名を第2位置情報として抽出するので、アクセス履歴情報の検索及びマウントポイント情報の補完における処理効率を更に高めることが可能になる。 Further, according to the reverse proxy system of the sixth feature, the hierarchy name within the predetermined hierarchy from the highest hierarchy is extracted as the second position information from the second external address, so access history information search and mount point information It is possible to further increase the processing efficiency in the complementation.
上記第7の特徴のリバースプロキシシステムによれば、第2位置情報の全体が第1位置情報と完全に一致しない場合であっても、ある程度の範囲で一致する場合には、当該第1位置情報に対応するマウントポイント情報を、第2アクセス要求の欠落したマウントポイント情報として特定することが可能になる。これにより、第2アクセス要求における第2外部アドレスに柔軟に対応して、マウントポイント情報の補完の達成率を向上させることが可能になる。 According to the reverse proxy system of the seventh feature, even when the entire second position information does not completely match the first position information, if the first position information matches within a certain range, the first position information The mount point information corresponding to can be specified as the mount point information lacking the second access request. Accordingly, it is possible to flexibly correspond to the second external address in the second access request and improve the achievement rate of the mount point information complement.
更に、上記第8の特徴のリバースプロキシシステムによれば、内部サーバの階層数が相当多い或いは階層構造が複雑な場合に、第1位置情報から最下位の階層名を除いた部分位置情報とマウントポイント情報が一致するアクセス履歴情報を統合できるので、アクセス履歴情報の検索効率を高めることが可能になる。 Furthermore, according to the reverse proxy system of the eighth feature, when the number of layers of the internal server is considerably large or the hierarchical structure is complicated, the partial position information obtained by removing the lowest hierarchy name from the first position information and the mount Since access history information with matching point information can be integrated, it is possible to increase the search efficiency of access history information.
以下、本発明に係るリバースプロキシシステム(以下、適宜「本発明システム」と略称する)の実施形態を図面に基づいて説明する。 DESCRIPTION OF EMBODIMENTS Hereinafter, an embodiment of a reverse proxy system according to the present invention (hereinafter, abbreviated as “the present system” as appropriate) will be described with reference to the drawings.
〈第1実施形態〉
本発明システムの第1実施形態について、図1〜図6を基に説明する。
<First Embodiment>
A first embodiment of the system of the present invention will be described with reference to FIGS.
先ず、本発明システム1の構成について図1及び図2を基に説明する。ここで、図1は、本発明システム1とその周辺装置の一構成例を示しており、図2は、本発明システム1の概略構成を示している。
First, the configuration of the
本発明システム1は、本実施形態では、DMZに設置され、内部サーバ3の閲覧を特定の外部クライアント2に制限する認証認可システムとしての機能を備え、外部クライアント2が操作するクライアント端末2i(i=1〜m)から内部サーバ3へのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムである。尚、本実施形態では、クライアント端末2iとして、PC(Personal Computer)等の端末を想定している。また、本実施形態では、説明のために、内部サーバ3として、ポータルサイト等のWebサーバ3j(j=1〜n)を想定しているが、メールサーバ等の他のサーバであっても良い。
In the present embodiment, the
本発明システム1は、図2に示すように、認証認可システムに係る機能として、外部クライアント2別に外部クライアント2に固有のクライアント識別情報を記憶した認証情報データベースを備え、クライアント端末2iからWebサーバ3jへのアクセス要求があった場合に、アクセス要求を行った認証対象のクライアント端末2iから、クライアント端末2iを操作する外部クライアント2のクライアント識別情報を取得し、認証情報データベースに認証対象の外部クライアント2のクライアント識別情報が記憶されている場合に外部クライアント2を認証する認証手段14を備えている。
As shown in FIG. 2, the
本発明システム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を備えて構成されている。
As shown in FIG. 2, the
以下、本発明システム1の処理動作について、図4を基に説明する。ここで、図4は、本発明システム1の処理動作の概略構成例を示している。
Hereinafter, the processing operation of the
本実施形態では、Webサーバ3jが階層構造を備えており、第1外部URLが“http://[本発明システム1のURL]/[prefix]/[directry]/[filename]”で規定され、内部URLが“http://[Webサーバ3jのURL]/[directry]/[filename]”で規定される場合を想定して説明する。尚、“[directry]”及び“[filename]”部分は必ずしも備える必要は無い。 In the present embodiment, the Web server 3j has a hierarchical structure, and the first external URL is defined as “http: // [URL of the present system 1] / [prefix] / [directory] / [filename]”. The case where the internal URL is defined by “http: // [URL of Web server 3j] / [directory] / [filename]” will be described. The “[directory]” and “[filename]” portions are not necessarily provided.
より具体的には、図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のディレクトリ構成の一例を夫々示している。
More specifically, the external URL of the Web server 3j shown in FIG. 1 is configured to start with “http://proxy.xxx.co.jp/web0j/”. In this case, “web0j” is mount point information that identifies the Web server 3j. Further, the internal URL of the Web server 3j is configured to start from “http://web0j.xxx.co.jp/” (j = 1 to n). 3A shows an example of the directory structure of the
本実施形態の本発明システム1は、図4に示すように、クライアント端末2iから認証要求を受け付けると(ステップ#121)、認証手段14が、クライアント端末2iに対し、クライアント識別情報の一例としてのユーザID及びパスワードの入力要求を行う(ステップ#111)。
As shown in FIG. 4, the
クライアント端末2iからユーザID及びパスワードが返されると(ステップ#122)、認証手段14は、内部サーバ3へのアクセス要求を許可された外部クライアント2のユーザIDとパスワードを管理する認証データベースを検索し、クライアント端末2iから入力された外部クライアント2のユーザID及びパスワードが登録されている場合に、外部クライアント2を認証する(ステップ#112)。
When the user ID and password are returned from the client terminal 2i (step # 122), the
外部クライアント2が認証されると、認証手段14は、認証された外部クライアント2が操作するクライアント端末2iからの内部サーバ3に対するアクセス要求を許可する。
When the
続いて、認証された外部クライアント2が操作するクライアント端末2iからアクセス要求があると(ステップ#123)、先ず、本発明システム1のアドレス変換手段11が、当該アクセス要求が、マウントポイント情報を含む第1外部URLによる第1アクセス要求であるか、マウントポイント情報が欠落した第2外部URLによる第2アクセス要求であるかを判定する(ステップ#113)。
Subsequently, when there is an access request from the client terminal 2i operated by the authenticated external client 2 (step # 123), first, the address translation unit 11 of the
より詳細には、アドレス変換手段11は、本発明システム1がアクセス要求を中継する全ての内部サーバ3についてマウントポイント情報を記憶したマウントポイント情報テーブルを備えている。ここで、図5は、マウントポイント情報テーブルの一例を示している。アドレス変換手段11は、アクセス要求に係る外部URLから、第1外部URLの[prefix]に相当する部分を抽出し、抽出した部分がマウントポイント情報としてマウントポイント情報テーブルに登録されている場合、第1外部URLによる第1アクセス要求であると判定する。これに対し、アドレス変換手段11は、マウントポイント情報テーブルに登録が無い場合、第2外部URLによる第2アクセス要求であると判定する。
More specifically, the address conversion unit 11 includes a mount point information table that stores mount point information for all
ステップ#113において、アクセス要求に係る外部URLが第1外部URLであると判定した場合、アドレス変換手段11は、第1外部URLを内部URLに変換して(ステップ#114)、対応するWebサーバ3jにアクセス要求を中継する(ステップ#116)。
If it is determined in
ステップ#113において、アドレス変換手段11によりクライアント端末2iからのアクセス要求が第1アクセス要求であると判定された場合、アクセス履歴記憶手段12が、当該第1アクセス要求についてアクセス履歴情報を記憶する(ステップ#115)。尚、アクセス履歴情報の記憶処理とWebサーバ3jへのアクセス要求の中継処理は、同時に実行しても良いし順番に実行しても良い。
In
具体的には、例えば、第1アクセス要求の第1外部URLが、“http://proxy.xxx.co.jp/web01/WebApplication01/html/index.html”の場合、アクセス履歴記憶手段12は、第1外部URLから、マウントポイント情報“web01”と、第1位置情報“/WebApplication01/html”を抽出し、対応付けてアクセス履歴情報として記憶する。ここで、図6は、アクセス履歴情報の一例を示している。本実施形態では、アクセス履歴情報には、クライアント識別情報としてのユーザID、第1アクセス要求の合った時間を示す時間情報としてのアクセス日時、マウントポイント情報、及び、第1位置情報が記憶されている。
Specifically, for example, when the first external URL of the first access request is “http://proxy.xxx.co.jp/web01/WebApplication01/html/index.html”, the access
また、本実施形態のアクセス履歴記憶手段12は、第1外部URLから取得したマウントポイント情報及び第1位置情報をアクセス履歴情報として記憶するときに、同じマウントポイント情報及び第1位置情報を有するアクセス履歴情報が記憶されている場合は、既に記憶されているアクセス履歴情報のアクセス日時を、新たな第1アクセス要求のアクセス日時に更新するように構成されている。尚、アクセス履歴情報に、マウントポイント情報及び第1位置情報以外の他の情報が記憶されている場合は、アクセス日時を除く他の全ての情報が完全に一致する場合に、アクセス日時を更新する。本実施形態では、マウントポイント情報及び第1位置情報以外に、ユーザIDが記録されているので、マウントポイント情報、第1位置情報、及び、ユーザIDが全て一致する場合に、アクセス履歴情報のアクセス日時を更新する。
Further, the access
尚、認証直後の内部サーバ3へのアクセス要求については、マウントポイント情報が正しく含まれる第1外部URLによる第1アクセス要求であると考えられるため、ステップ#113を実行せずに、後述するアクセス履歴情報の記憶(ステップ#115)及び第1アクセス要求の中継処理(ステップ#116)を実行するように構成しても良い。
Since the access request to the
引き続き、内部サーバ3から第1アクセス要求に対する応答があると(ステップ#131)、アドレス変換手段11は、当該応答に係る内部URLを外部URLに変換する第2変換処理を実行する(ステップ#211)。 Subsequently, when there is a response to the first access request from the internal server 3 (step # 131), the address conversion unit 11 executes a second conversion process for converting the internal URL related to the response into an external URL (step # 211). ).
認証された外部クライアント2が操作するクライアント端末2iから、2回目以降のアクセス要求があり(ステップ#321)、アドレス変換手段11により、当該アクセス要求が、マウントポイント情報が欠落した第2外部URLによる第2アクセス要求であると判定された場合(ステップ#311)、アドレス補完手段13は、アクセス履歴記憶手段12によって記憶されたアクセス履歴情報を用いて、第2アクセス要求に係る第2外部URLの補完処理を行う(ステップ#312)。
There is a second or subsequent access request from the client terminal 2i operated by the authenticated external client 2 (step # 321), and the address conversion unit 11 determines that the access request is based on the second external URL from which mount point information is missing. When it is determined that the request is the second access request (step # 311), the
より具体的には、本実施形態のアドレス補完手段13は、第2アクセス要求を行ったクライアント端末2iを操作する外部クライアント2のユーザIDが記憶されているアクセス要求履歴の内、所定の時間条件範囲内、例えば、1年以内のアクセス日時を持つアクセス履歴情報を用いて、第2外部URLを内部アドレスに変換する。尚、時間条件は、本実施形態では1年としたが、外部クライアント2の利用状況や内部サーバ3の機能等に応じて適切に設定する。また、時間条件は、外部クライアント2別、内部サーバ3別(コンテンツ別)に設定しても良い。
More specifically, the
ここで、第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”を抽出する。
Here, since the [prefix] portion of the first external URL is missing from the second external URL, the configuration of the second external URL is “http: // [URL of the
第2位置情報を抽出すると、アドレス補完手段13は、抽出した第2位置情報と共通する第1位置情報を有するアクセス履歴情報を検索してマウントポイント情報を取得する。より詳細には、本実施形態では、図6に示すアクセス履歴情報の場合、ユーザIDが“1234567”のアクセス履歴情報の内、第2位置情報“/WebApplication01/html”と全部が共通する第1位置情報が記憶されているNo1のアドレス履歴情報を抽出する。 When the second position information is extracted, the address complementing means 13 searches the access history information having the first position information common to the extracted second position information, and acquires the mount point information. More specifically, in the present embodiment, in the case of the access history information shown in FIG. 6, first of all of the access history information whose user ID is “1234567” and the second location information “/ WebApplication01 / html” are common. The No. 1 address history information in which the position information is stored is extracted.
アドレス履歴情報を抽出すると、アドレス補完手段13は、抽出したNo1のアドレス履歴情報に記憶されているマウントポイント情報“/web01”を用いて、第2外部URL“http://proxy.xxx.co.jp/WebApplication01/html/index.html”を、内部アドレス“http://web01.xxx.co.jp/WebApplication01/html/index.html”に変換する。 When the address history information is extracted, the address complementing means 13 uses the mount point information “/ web01” stored in the extracted No. 1 address history information, and uses the second external URL “http://proxy.xxx.co”. .Jp / WebApplication01 / html / index.html ”is converted to an internal address“ http://web01.xxx.co.jp/WebApplication01/html/index.html ”.
本発明システム1は、アドレス補完手段13によって補完した内部アドレスを用いて、内部サーバ3に対するアクセス要求を中継する(ステップ#313)。内部サーバ3、ここでは、Webサーバ31から第2アクセス要求に対する応答があると(ステップ#331)、アドレス変換手段11は、当該応答に係る内部URLを外部URLに変換する第2変換処理を実行する(ステップ#314)。
The
尚、本実施形態では、アドレス補完手段13を、第2位置情報と全部が共通する第1位置情報を有するアクセス履歴情報を検索するように構成したが、これに限るものではなく、一部が共通する第1位置情報を有するアクセス履歴情報を検索するように構成しても良い。例えば、最上位階層から予め設定された階層数以上が一致する第1位置情報を有するアクセス履歴情報を検索する構成、或いは、一致度が最も高い第1位置情報を有するアクセス履歴情報を検索する構成等、他の検索条件に従って、アクセス履歴情報を検索するように構成しても良い。この場合には、検索成功率を向上させることが可能になる。 In the present embodiment, the address complementing means 13 is configured to search for access history information having the first position information that is in common with the second position information. However, the present invention is not limited to this. You may comprise so that the access history information which has the 1st location information in common may be searched. For example, a configuration for searching access history information having first location information that matches a preset number of layers from the highest level, or a configuration for searching access history information having first location information having the highest degree of matching For example, the access history information may be searched according to other search conditions. In this case, the search success rate can be improved.
〈第2実施形態〉
本発明システム1の第2実施形態について、図7を基に説明する。尚、本実施形態では、上記第1実施形態とは、アクセス履歴記憶手段12及びアドレス補完手段13の構成が異なる場合について説明する。より詳細には、上記第1実施形態では、アクセス履歴記憶手段12が、第1位置情報として第1外部URLの全階層名(ディレクトリ名)を抽出したが、本実施形態では、第1外部URLから抽出する階層名の階層数を制限する場合について説明する。
Second Embodiment
A second embodiment of the
本実施形態の本発明システム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実施形態と同じである。
The
アクセス履歴記憶手段12は、本実施形態では、図4に示すステップ#115のアクセス履歴の記憶処理において、Webサーバ3jが階層構造を有する場合、第1外部URLから、Webサーバ3jにおける最上位から予め設定された所定階層数以内の階層名を第1位置情報として抽出する。
In the present embodiment, the access
より具体的には、例えば、最上位階層を含む2階層以内の階層名を第1位置情報として抽出するように構成されている場合に、第1アクセス要求の第1外部URLが“http://proxy.xxx.co.jp/web03/WebApplication01/aaa/html/index.html”である場合、アクセス履歴記憶手段12は、第1外部URLから、マウントポイント情報“web03”と、第1位置情報“/WebApplication01/aaa”を抽出する。ここで、図7は、本実施形態におけるアクセス履歴情報の一例を示している。 More specifically, for example, when the configuration is such that a hierarchy name within two layers including the highest layer is extracted as the first position information, the first external URL of the first access request is “http: // /Proxy.xxx.co.jp/web03/WebApplication01/aaa/html/index.html ”, the access history storage means 12 receives the mount point information“ web03 ”and the first location information from the first external URL. Extract “/ WebApplication01 / aaa”. Here, FIG. 7 shows an example of access history information in the present embodiment.
アドレス補完手段13は、本実施形態では、図4に示すステップ#312のアドレス補完処理において、Webサーバ3jが階層構造を有する場合、第2外部URLから、Webサーバ3jにおける最上位から予め設定された所定階層数以内の階層名を第2位置情報として抽出する。本実施形態では、第1位置情報の場合と同様に、第1外部URLの最上位階層から、最上位階層を含む2階層以内の階層名を第2位置情報として抽出する。
In the present embodiment, the address complementing means 13 is preset from the second external URL from the top in the web server 3j when the web server 3j has a hierarchical structure in the address complementing process of
より具体的には、例えば、第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”を取得する。 More specifically, for example, when the second external URL is “http://proxy.xxx.co.jp/WebApplication01/aaa/html/index.html”, the address complementing means 13 of the present embodiment is: “/ WebApplication01 / aaa” is extracted as the second position information. When the second position information is extracted, the address complementing means 13 retrieves the access history information having the first position information common to the extracted second position information and acquires the mount point information, as in the first embodiment. To do. Here, the access history information of No. 4 having the extracted second location information “/ WebApplication01 / aaa” is extracted from the access history information shown in FIG. 7, and the mount point information “web03” is acquired.
続いて、本実施形態のアドレス補完手段13は、マウントポイント情報“web03”を用いて、第2外部URLを補完して、内部URL“http://web03.xxx.co.jp/WebApplication01/aaa/html/index.html”を生成する。
Subsequently, the
本実施形態の本発明システム1は、Webサーバ3jが階層構造を有する場合、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合に、アクセス履歴情報の第1位置情報と、第2外部URLから抽出する第2位置情報を簡略化(縮退)させることができるので、アクセス履歴情報の簡素化や、アクセス履歴情報の第1位置情報に対する検索効率を向上させることができる。
The
更に、一般的には、全階層名が一致していなくても、ある程度の階層数の階層名が一致していれば、同じマウントポイント情報を有すると類推可能であることから、本実施形態のアドレス補完手段13のように、最上位階層からマウントポイント情報を類推可能な所定階層数以内の階層名を第2情報として抽出するように構成すれば、結果的に、第1位置情報と第2位置情報の全部が共通する場合に加え、一部のみが共通する場合にもアドレス履歴情報を一意的に検索することが可能になる。これにより、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合でも、より高確率に一意的にアドレス履歴情報を検索することができ、内部URLから第1外部URLへの変換成功率を向上させることが可能になる。 Furthermore, in general, even if all hierarchy names do not match, if the hierarchy names of a certain number of levels match, it can be inferred that they have the same mount point information. If the configuration is made such that the name of the hierarchy within the predetermined number of hierarchies from which the mount point information can be analogized is extracted as the second information like the address complementing means 13, the first position information and the second information are obtained as a result. In addition to the case where all the position information is common, the address history information can be uniquely searched when only a part is common. As a result, particularly when the Web server 3j has a very large number of layers or when the layer structure is complicated, the address history information can be uniquely retrieved with higher probability. It is possible to improve the conversion success rate to the external URL.
〈第3実施形態〉
本発明システム1の第3実施形態について、図8を基に説明する。尚、本実施形態では、上記第1及び第2実施形態とは、アクセス履歴情報の第1位置情報の検索方法が異なる場合について説明する。
<Third Embodiment>
A third embodiment of the
本実施形態の本発明システム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実施形態と同じである。
The
アドレス補完手段13は、本実施形態では、図4に示すステップ#312のアドレス補完処理において、Webサーバ3jが階層構造を有し、第2位置情報をキーとしてアクセス履歴情報を検索したときに、アクセス履歴情報に第2位置情報を含む第1位置情報が検索されなかった場合に、第2位置情報を構成する階層名の内、最下位の階層名を除いたものを第2位置情報として再設定する再設定処理と、第2位置情報をキーとしてアクセス履歴情報を検索する検索処理とを、アクセス履歴情報に第2位置情報を含む第1位置情報が検索されるまで、或いは、第2位置情報の再設定が実行できなくなるまで繰り返し実行する。
In the present embodiment, in the address complementing process of
以下、本実施形態におけるアドレス補完手段13の動作について図8を基に説明する。ここで、図8は、図4に示すステップ#312の詳細な処理動作を示している。
Hereinafter, the operation of the address complementing means 13 in this embodiment will be described with reference to FIG. Here, FIG. 8 shows the detailed processing operation of
本実施形態のアドレス補完手段13は、図4に示すステップ#312において、先ず、第2外部URLから第2位置情報を抽出する(ステップ#321)。より具体的には、例えば、第2外部URLが“http://proxy.xxx.co.jp/WebApplication01/images/jpg/***.jpg”の場合、アドレス補完手段13は、第2位置情報として“/WebApplication01/images/jpg”を抽出する。
In
続いて、アドレス補完手段13は、第2位置情報をキーとしてアクセス履歴情報を検索する(ステップ#322)。 Subsequently, the address complementing means 13 searches the access history information using the second position information as a key (step # 322).
ステップ#323において、第2位置情報を含む第1位置情報を有するアクセス履歴情報が検索されなかった場合(ステップ#323で「NO」分岐)、アドレス補完手段13は、第2位置情報の再設定が可能か否かを判定する(ステップ#324)。
In
より具体的には、例えば、現在の第2位置情報が“/WebApplication01/images/jpg”である場合、図6に示すアクセス履歴情報には、当該第2位置情報を含むアクセス履歴情報はない。この場合、第2位置情報が複数の階層名で構成されているため、アドレス補完手段13は、ステップ#324において、第2位置情報の再設定が可能であると判定する。
More specifically, for example, when the current second location information is “/ WebApplication01 / images / jpg”, the access history information illustrated in FIG. 6 does not include access history information including the second location information. In this case, since the second position information is composed of a plurality of hierarchical names, the address complementing means 13 determines in
ステップ#324において第2位置情報の再設定が可能であると判定した場合、即ち、第2位置情報が複数のディレクトリ名で構成される場合は(ステップ#324で「YES」分岐)、現在の第2位置情報から最下位の階層名を除いて、新たな第2位置情報として再設定する(ステップ#325)。より具体的には、アドレス補完手段13は、例えば、現在の第2位置情報が“/WebApplication01/images/jpg”の場合、最下位の階層名“jpg”を除いた“/WebApplication01/images”を新たな第2位置情報として再設定する。
If it is determined in
ステップ#324において第2位置情報の再設定が可能ではない判定した場合は、アドレス補完手段13は、マウントポイント情報の補完が正常に実行できないとして、エラー情報を出力する。この場合、本発明システム1は、クライアント端末に対し、エラー情報を出力する。
If it is determined in
ステップ#323において、第2位置情報を含む第1位置情報を有するアクセス履歴情報が検索された場合(ステップ#323で「YES」分岐)、アドレス補完手段13は、検索されたアクセス履歴情報からマウントポイント情報を抽出し(ステップ#327)、抽出したマウントポイント情報を用いて第2外部URLを内部URLに変換する(ステップ#328)。
In
より具体的には、例えば、ステップ#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”に補完する。
More specifically, for example, the second location information “/ WebApplication01 / images” reset at
尚、本実施形態では、説明のために、アクセス履歴記憶手段12が上記第1実施形態と同じ構成である場合を想定して説明したが、第2実施形態と同様に、最上位階層から所定階層数の階層名を第1位置情報として抽出するように構成しても良い。
In the present embodiment, for the sake of explanation, the description has been made assuming that the access
また、本実施形態では、アドレス補完手段13を、アクセス履歴情報が検索されなかった場合に、最下位の階層名を除いた第2位置情報を新たな第2位置情報として設定する再設定処理と、新たな第2位置情報を用いた検索処理を実行するように構成したので、上記第2実施形態と同様に、第1位置情報と第2位置情報の全部が共通する場合に加え、一部のみが共通する場合にもアドレス履歴情報を一意的に検索することが可能になる。これにより、特に、Webサーバ3jに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合でも、より高確率に一意的にアドレス履歴情報を検索することができ、内部URLから第1外部URLへの変換成功率を向上させることが可能になる。
Further, in the present embodiment, the
〈第4実施形態〉
本発明システム1の第3実施形態について、図9を基に説明する。尚、本実施形態では、上記第2実施形態とは、アクセス履歴記憶手段12におけるアクセス履歴情報の生成方法が異なる場合について説明する。
<Fourth embodiment>
A third embodiment of the
本発明システム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実施形態の何れかと同じである。
As in the first embodiment, the
アクセス履歴記憶手段12は、本実施形態では、内部サーバ3が階層構造を有する場合に、第1位置情報が複数の階層名で構成されるアクセス履歴情報の夫々について、第1位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、部分位置情報とマウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、部分位置情報を第1位置情報として統合対象アクセス履歴情報を統合する統合処理を実行する。
In this embodiment, when the
以下、本実施形態におけるアクセス履歴記憶手段12の統合処理について、図9を基に説明する。ここで、図9(a)は、統合前のアクセス履歴情報の一例を示しており、図9(b)は、統合後のアクセス履歴情報の一例を示している。尚、本実施形態では、説明のため、特に、ユーザIDが“1234567”であり、マウントポイント情報が“web03”であるアクセス履歴情報を統合する場合について説明する。
Hereinafter, the integration processing of the access
より具体的には、図9(a)には、ユーザIDが“1234567”及びマウントポイント情報“web03”のアクセス履歴情報として、NO4のアクセス履歴情報とNO5のアクセス履歴情報が記憶されている。アクセス履歴記憶手段12は、NO4の第1位置情報の階層数が3であり、NO5の第1位置情報の階層数が4であることから、例えば、部分位置情報の階層数を3に設定して、部分位置情報を夫々比較する。この場合には、NO4の部分位置情報は“/WebApplication01/aaa/html”となり、NO5の部分位置情報は“/WebApplication01/aaa/images”となり、一致しない。
More specifically, in FIG. 9A, the access history information of NO4 and the access history information of NO5 are stored as the access history information of the user ID “1234567” and the mount point information “web03”. Since the number of hierarchies of the first position information of NO4 is 3 and the number of hierarchies of the first position information of NO5 is 4, the access
部分位置情報が一致しない場合、アクセス履歴記憶手段12は、部分位置情報の階層数を2に再設定して、部分位置情報を夫々比較する。この場合、NO4の部分位置情報は“/WebApplication01/aaa”となり、NO5の部分位置情報は“/WebApplication01/aaa”となり、完全に一致する。
If the partial position information does not match, the access
部分位置情報が一致した場合、アクセス履歴記憶手段12は、部分位置情報が一致したアクセス履歴情報を統合する。詳細には、部分位置情報が一致したアクセス履歴情報の内、最新のアクセス日時を有するアクセス履歴情報の第1位置情報を部分位置情報に置き換え、他のアクセス履歴情報を削除する。より具体的には、例えば、NO4のアクセス履歴情報の部分位置情報“/WebApplication01/aaa”を第1位置情報として、NO5のアクセス履歴情報を削除する。ここで、図9(b)は、統合後のアクセス履歴情報の一例を示している。これにより、アクセス履歴情報を統合することができ、アドレス補完手段13において検索処理等を効率よく実施することが可能になる。
When the partial position information matches, the access
〈別実施形態〉
〈1〉上記第1〜第4実施形態では、第1変換処理においてアクセス履歴情報を記憶する場合について説明したが、これに限るものではない。第2変換処理においてアクセス履歴情報を記憶するように構成しても良いし、第1変換処理及び第2変換処理の両方において夫々アクセス履歴情報を記憶し、比較するように構成しても良い。
<Another embodiment>
<1> In the first to fourth embodiments, the case where the access history information is stored in the first conversion process has been described. However, the present invention is not limited to this. The access history information may be stored in the second conversion process, or the access history information may be stored and compared in both the first conversion process and the second conversion process.
〈2〉上記第1〜第4実施形態では、アクセス履歴記憶手段12が、アクセス履歴情報を記憶する際に、アクセス日時以外の情報が完全に一致するアクセス履歴情報がある場合に、既に記憶されているアクセス履歴情報のアクセス日時を更新するように構成したが、これに限るものではない。例えば、アクセス履歴情報を全て記憶しておき、所定の時間条件範囲内のアクセス履歴情報、例えば、過去1年以内に記憶されたアクセス履歴情報を利用する、或いは、アクセス日時以外の情報が完全に一致するアクセス履歴情報の内、最新のアクセス履歴情報のみを利用するように構成しても良い。
<2> In the first to fourth embodiments, when the access
〈3〉上記第1〜第4実施形態において、外部クライアント2及び内部サーバ3の夫々に、例えば、外部クライアント2の役職や部署名、内部サーバ3の機密度等に応じてセキュリティレベルを設定し、外部クライアント2毎に、セキュリティレベルに応じて、内部サーバ3別、或いは、内部サーバ3のコンテンツ別にアクセス要求の許可及び禁止を設定するように構成しても良い。
<3> In the first to fourth embodiments, the security level is set for each of the
このような場合には、同じ或いは所定範囲のセキュリティレベルが設定された1または複数の外部クライアント2で構成される1または複数のセキュリティグループを設定し、アドレス補完手段13を、外部クライアント2別ではなく、第2アクセス要求を行った外部クライアント2と同じセキュリティグループに属する外部クライアント2のユーザIDが記憶されているアクセス要求履歴を用いて、第2外部URLを内部アドレスに変換するように構成しても良い。また、アクセス要求履歴にアクセス日時等の時間情報が記憶されている場合には、外部クライアント2のセキュリティレベル別に、内部サーバ3別やコンテンツ別に時間条件を設定しても良い。
In such a case, one or a plurality of security groups composed of one or a plurality of
更に、セキュリティグループ別のアクセス要求履歴を用いて第2外部URLを内部アドレスに変換するように構成する場合には、アクセス履歴情報を、セキュリティグループ別に作成するように構成しても良い。 Further, when the second external URL is converted into the internal address using the access request history for each security group, the access history information may be created for each security group.
1 本発明に係るリバースプロキシシステム
2 外部クライアント
2i クライアント端末
3 内部サーバ
3j Webサーバ
4 通信ネットワーク
5 内部LAN
10 通信インターフェース
11 アドレス変換手段
12 アクセス履歴記憶手段
13 アドレス補完手段
14 認証手段
15 記憶手段
100 従来技術に係るリバースプロキシシステム
DESCRIPTION OF
DESCRIPTION OF
Claims (8)
前記外部クライアントから、前記内部サーバを特定するマウントポイント情報を含む第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外部アドレスを前記内部アドレスに変換するアドレス補完手段と、
を備えることを特徴とするリバースプロキシシステム。 A reverse proxy system using a reverse proxy that relays an access request from an external client to an internal server,
When there is a first access request from the external client using a first external address including mount point information for identifying the internal server, the first external address is unique to the internal server using the mount point information. The response when there is a response to the first access request of the external client from the internal server, and a first conversion process of converting the internal access address and passing the first access request to the corresponding internal server Address conversion means for performing a second conversion process for converting the internal address according to the above to the first external address including the mount point information;
When there is the first access request, at least one of the first conversion process and the second conversion process related to the first access request, the mount point information and the first Access history storage means for extracting first position information indicating a position of a target file of an access request, and storing the mount point information and the first position information in association with each other as access history information;
When there is a second access request by the second external address not including the mount point information from the external client, second location information indicating the location of the target file of the second access request from the second external address. Extracting the mount point information by extracting the access history information having the first position information partially or entirely in common with the second position information using the second position information as a key, and extracting the mount point information; Address complementing means for converting the second external address into the internal address using information;
A reverse proxy system comprising:
前記アクセス履歴記憶手段が、前記クライアント識別情報を前記アクセス履歴情報と対応付けて記憶し、
前記アドレス補完手段が、前記第2アクセス要求を行った前記外部クライアントの前記クライアント識別情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを特徴とする請求項1に記載のリバースプロキシシステム。 An authentication information database storing client identification information unique to each external client is provided for each external client, and when there is an access request from the external client to the internal server, the authentication target that made the access request An authentication unit that acquires the client identification information of the external client from an external client and authenticates the external client when the client identification information of the external client to be authenticated is stored in the authentication information database,
The access history storage means stores the client identification information in association with the access history information;
The address complementing means converts the second external address into the internal address using the access history information including the client identification information of the external client that has made the second access request. Item 6. The reverse proxy system according to Item 1.
前記アドレス補完手段が、所定の時間条件範囲内の前記時間情報を有する前記アクセス履歴情報を用いて、前記第2外部アドレスを前記内部アドレスに変換することを特徴とする請求項1または2に記載のリバースプロキシシステム。 The access history storage means stores time information indicating a time when the first access request is made in association with the access history information;
3. The address complementing unit converts the second external address into the internal address using the access history information having the time information within a predetermined time condition range. Reverse proxy system.
前記部分位置情報と前記マウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、前記部分位置情報を前記第1位置情報として前記統合対象アクセス履歴情報を統合する統合処理を実行することを特徴とする請求項7に記載のリバースプロキシシステム。 The access history storage means, when the internal server has a hierarchical structure, for each of the access history information in which the first location information is composed of a plurality of hierarchical names, To obtain partial position information consisting of a predetermined number of hierarchy names from
When there are a plurality of integration target access history information in which the partial position information and the mount point information completely match, an integration process is performed to integrate the integration target access history information using the partial position information as the first position information. The reverse proxy system according to claim 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008067190A JP5049172B2 (en) | 2008-03-17 | 2008-03-17 | Reverse proxy system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008067190A JP5049172B2 (en) | 2008-03-17 | 2008-03-17 | Reverse proxy system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009223608A JP2009223608A (en) | 2009-10-01 |
JP5049172B2 true JP5049172B2 (en) | 2012-10-17 |
Family
ID=41240313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008067190A Expired - Fee Related JP5049172B2 (en) | 2008-03-17 | 2008-03-17 | Reverse proxy system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5049172B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5385867B2 (en) * | 2010-06-30 | 2014-01-08 | 日本電信電話株式会社 | Data transfer apparatus and access analysis method |
JP5698475B2 (en) * | 2010-07-29 | 2015-04-08 | キヤノン株式会社 | COMMUNICATION DEVICE, RELAY DEVICE, COMMUNICATION DEVICE CONTROL METHOD, RELAY DEVICE CONTROL METHOD, AND PROGRAM |
JP2012064007A (en) * | 2010-09-16 | 2012-03-29 | Daiwa Institute Of Research Business Innovation Ltd | Information processor, communication relay method and program |
JP5500020B2 (en) * | 2010-09-24 | 2014-05-21 | 富士通株式会社 | Web application providing method, relay server device, and Web server device |
JP2012221255A (en) * | 2011-04-08 | 2012-11-12 | Daiwa Institute Of Research Business Innovation Ltd | Information processing system, information processor and information processing method |
JP5377695B2 (en) | 2012-02-29 | 2013-12-25 | 京セラドキュメントソリューションズ株式会社 | Device information providing system, electronic device and device information providing program |
JP6056158B2 (en) * | 2012-03-01 | 2017-01-11 | 日本電気株式会社 | Reverse proxy device, and reverse proxy processing method and program in the device |
JP2013210896A (en) * | 2012-03-30 | 2013-10-10 | Fujifilm Corp | Proxy server device, client terminal device, remote access system, transfer control method and program, and access method and program |
-
2008
- 2008-03-17 JP JP2008067190A patent/JP5049172B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009223608A (en) | 2009-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5049172B2 (en) | Reverse proxy system | |
US9218482B2 (en) | Method and device for detecting phishing web page | |
Spinellis | The decay and failures of web references | |
JP5023715B2 (en) | Information processing system, information processing apparatus, and program | |
US20120239731A1 (en) | Methods and systems for providing content provider-specified url keyword navigation | |
US7739354B2 (en) | Adding data to text pages by means of an intermediary proxy | |
US8856871B2 (en) | Method and system for compiling a unique sample code for specific web content | |
US8131753B2 (en) | Apparatus and method for accessing and indexing dynamic web pages | |
CN110430188B (en) | Rapid URL filtering method and device | |
CN108900554B (en) | HTTP asset detection method, system, device and computer medium | |
CN109376133A (en) | File access method and file access system | |
US20050138004A1 (en) | Link modification system and method | |
JP5347429B2 (en) | Uniform resource locator rewriting method and apparatus | |
US20050086213A1 (en) | Server apparatus, information providing method and program product therefor | |
JP2010170453A (en) | Static web site construction method, static web site construction service providing method, dynamic/static conversion processor, and dynamic/static conversion processing program | |
EP2435902A1 (en) | Retrieval system, retrieval space map server apparatus and program | |
Nelson et al. | Adding the Dimension of Time to HTTP | |
JP5224839B2 (en) | Document management system, document management apparatus, document management method, and program | |
CN103793516A (en) | Method and device for obtaining URL icon | |
JP2005352534A (en) | Multi vendor support system and support method | |
JP4259858B2 (en) | WWW site history search device, method and program | |
JP4057997B2 (en) | Document processing apparatus with script, document acquisition apparatus, document processing system with script, document processing method with script, and program for causing computer to execute the method | |
JP2000322167A (en) | Data management system and method for displaying data attribute | |
US20060123109A1 (en) | Method for processing HTTP requests and HTML pages transmitted or received by a navigator to or from at least one web server, and associated server | |
KR100516302B1 (en) | Method And System For Handling Wrongly Inputted Internet Address |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120411 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120626 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120720 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5049172 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |