説明

HTTPアクセス中継装置及びプログラム

【課題】多種多様なネットワークシステムの構成や仕様に対して柔軟な対応が可能なHTTPアクセス中継装置を得る。
【解決手段】HTTPアクセス管理ポリシDB104には、HTTPパケットの編集方法を示す管理ポリシが格納されている。HTTPアクセス管理部102は、クライアントアクセス処理部101よりHTTPアクセスの中継指示を受けた場合、該当する管理ポリシをHTTPアクセス管理ポリシDB104より得てその実行処理を行い、実行結果を代行アクセス実行部105に送出する。また、代行アクセス実行部105より代行アクセスの結果が返却された場合に管理ポリシの実行処理を行って、その結果をクライアントアクセス処理部101に送出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プロキシ、リバースプロキシのような、クライアントとサーバ間のHTTPによる通信(HTTPアクセス)を中継するHTTPアクセス中継装置及びプログラムに関する。
【背景技術】
【0002】
クライアントとサーバ間のHTTPアクセスを制御するために、直接クライアントやサーバを改修するのではなく、プロキシやリバースプロキシのような中継装置を介して、HTTPアクセス内容の解析、編集を行うことで、アクセス内容のフィルタリングやアクセス先やアクセス元の情報の秘匿化などを行うようなネットワークシステムがある。
【0003】
従来、HTTPアクセスを中継装置にて編集する技術として、HTTPアクセスに含まれる特定のCookieやSet−Cookieを編集することで、リバースプロキシと異なるドメインに属するサーバからのSet−Cookieを有効とするための方法があった(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−94805号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記従来の方法では、HTTPアクセス先のサーバからのSet−Cookieに含まれるドメイン情報を編集してアクセス先のサーバへのアドレスに追加することで、クライアントから追加したアドレス宛てに送信したHTTPアクセスをリバースプロキシが受信した際に、本来のアクセス先のサーバのアドレスに変換できるようにし、HTTPアクセス先のサーバからのSet−Cookieを有効としている。しかしながら、このような方法における編集対象は特定のCookieやSet−Cookieに限定されており、多種多様なネットワークシステムの構成や仕様に対して柔軟な対応ができないという課題があった。
【0006】
この発明は上記のような課題を解決するためになされたもので、多種多様なネットワークシステムの構成や仕様に対して柔軟な対応が可能なHTTPアクセス中継装置を得ることを目的とする。
【課題を解決するための手段】
【0007】
この発明に係るHTTPアクセス中継装置は、クライアントとサーバ間のHTTPアクセスを中継するHTTPアクセス中継装置において、クライアントからのHTTPアクセスを取得した場合、HTTPアクセスの中継を指示し、中継を指示したHTTPアクセスの結果をクライアントに返却するクライアントアクセス処理部と、HTTPパケットの編集方法を示す管理ポリシを、管理ポリシIDをキーとして格納するHTTPアクセス管理ポリシデータベースと、HTTPパケットのヘッダ情報をキーとして、利用する管理ポリシを指定するための管理ポリシIDを格納するHTTPアクセス管理データベースと、HTTPパケットのヘッダ情報を元にHTTPアクセス管理データベースから該当する管理ポリシIDを取得し、さらに管理ポリシIDを利用してHTTPアクセス管理ポリシデータベースから該当する管理ポリシを取得し、これを実行するHTTPアクセス管理部と、HTTPアクセス管理部から得たHTTPパケットを利用してサーバに対して代行アクセスを実行し、その結果をHTTPアクセス管理部に返却する代行アクセス実行部とを備え、HTTPアクセス管理部は、クライアントアクセス処理部よりHTTPアクセスの中継指示を受けた場合に管理ポリシの実行処理を行って、その結果を代行アクセス実行部に送出すると共に、代行アクセス実行部より代行アクセスの結果が返却された場合に管理ポリシの実行処理を行って、その結果をクライアントアクセス処理部に送出するようにしたものである。
【発明の効果】
【0008】
この発明のHTTPアクセス中継装置は、HTTPパケットの編集方法を示す管理ポリシを格納するHTTPアクセス管理ポリシデータベースを備え、HTTPパケットに対応した管理ポリシを用いてHTTPパケットを編集し、中継するようにしたので、多種多様なネットワークシステムの構成や仕様に対して柔軟な対応が可能となる。
【図面の簡単な説明】
【0009】
【図1】この発明の実施の形態1によるHTTPアクセス中継装置を示す構成図である。
【図2】この発明の実施の形態1によるHTTPアクセス中継装置のHTTPアクセス管理データベースとHTTPアクセス管理ポリシデータベースの一例を示す説明図である。
【図3】この発明の実施の形態1によるHTTPアクセス中継装置のHTTPリクエスト処理のフローチャートである。
【図4】この発明の実施の形態1によるHTTPアクセス中継装置のHTTPレスポンス処理のフローチャートである。
【発明を実施するための形態】
【0010】
実施の形態1.
図1は、この発明の実施の形態1によるHTTPアクセス中継装置を含むネットワーク示す構成図である。
図1に示すネットワークシステムは、HTTPアクセス中継装置100がクライアント200とサーバ300間の中継を行うネットワークシステムである。クライアント200は、ネットワーク400を利用し、HTTPアクセス中継装置100を介してサーバ300が持つリソース301(例えば、Webアプリケーションやプログラムなど)へアクセスし、結果を得る。
【0011】
HTTPアクセス中継装置100は、クライアントアクセス処理部101、HTTPアクセス管理部102、HTTPアクセス管理データベース(DB)103、HTTPアクセス管理ポリシデータベース(DB)104、代行アクセス実行部105を備えている。
【0012】
クライアントアクセス処理部101は、クライアント200からのHTTPアクセスを取得し、HTTPアクセス管理部102にHTTPアクセスの中継を指示し、その結果をクライアントに返却する機能を有しており、次のように動作する。なお、以下のかっこ内の501〜514は図1中の矢印に対応している。
・クライアント200からHTTPアクセス(HTTPリクエスト)を受信すると(501)、HTTPリクエストをHTTPアクセス管理部102に渡し、代行HTTPリクエストの作成を要求する(502)。ここで、代行HTTPリクエストとは、HTTPアクセスに対するサーバの仕様に応じてクライアント200からのHTTPリクエストを目的のサーバ300やそのリソース301にアクセスするために適切なフォーマットに編集したHTTPリクエストを指す。
【0013】
・代行アクセスの結果(代行HTTPレスポンス)をクライアント200に返すのに適したフォーマット(HTTPレスポンス)に編集して返ってきた際(513)に、クライアント200にHTTPレスポンスを送信する(514)。ここで、代行HTTPレスポンスとは、HTTPアクセス中継装置100がサーバ300に対して実行した代行アクセスの結果を指す。
【0014】
HTTPアクセス管理部102は、HTTPパケットのヘッダ情報を元にHTTPアクセス管理DB103から該当する管理ポリシIDを取得し、さらに管理ポリシIDを利用して管理ポリシを取得、実行するもので、次のように動作する。
・クライアントアクセス処理部101からHTTPリクエストを受信すると(502)、得たHTTPリクエストのヘッダ情報を利用してHTTPアクセス管理DB103にHTTPリクエストを編集するための管理ポリシに対する識別番号(管理ポリシID)を要求する(503)。さらに、管理ポリシIDを利用してHTTPアクセス管理ポリシDB104に管理ポリシを要求する(504)。そして、取得した管理ポリシを利用して代行HTTPリクエストを生成し(505)、代行アクセス実行部105に渡す(506)。
【0015】
・代行アクセス実行後、代行アクセス実行部105から代行HTTPレスポンスを受信すると(509)、HTTPリクエストと同様に代行HTTPレスポンスのヘッダ情報を利用してHTTPアクセス管理DB103に管理ポリシIDを要求し(510)、得た管理ポリシIDを利用してHTTPアクセス管理ポリシDB104に管理ポリシを要求する(511)。さらに、得た管理ポリシを利用して代行HTTPレスポンスを編集してHTTPレスポンスを生成し(512)、クライアントアクセス処理部101に返す(513)。
【0016】
HTTPアクセス管理DB103は、HTTPパケットのヘッダ情報をキーとして利用する管理ポリシを指定するためのID(管理ポリシID)を格納するデータベースであり、HTTPアクセスのヘッダ情報、例えば、アクセス種別(HTTPリクエスト/レスポンス)やアクセス元、アクセス対象、特定のCookieやSet−Cookieの有無などの情報をキーとして、HTTPアクセスの編集方法を登録したHTTPアクセス管理ポリシDB104への識別番号(管理ポリシD)を取得し、HTTPアクセス管理部102に返す(503・510)。
【0017】
HTTPアクセス管理ポリシDB104は、管理ポリシIDをキーとして、HTTPパケットの編集方法(管理ポリシ)を格納するデータベースであり、管理ポリシIDをキーとして、HTTPアクセスの編集方法、例えば、管理内容(CookieやSet−Cookie、アクセス先のアドレスの編集など)を登録した管理ポリシをHTTPアクセス管理部102に返す(504・511)。ここで、管理ポリシとは、DBで構築してもよいし、HTTPアクセスを編集するためのプログラムであってもよいが、本発明ではDBで構築したものとして説明を行う。
【0018】
代行アクセス実行部105は、HTTPアクセス管理部102から得たHTTPパケットを利用してサーバ300に対して代行アクセスを実行し、その結果をHTTPアクセス管理部102に返す機能を有しており、次のように動作する。
・HTTPアクセス管理部102から、代行HTTPリクエストを受信すると(506)、クライアント200の目的のサーバ300のリソース301に対して代行アクセスを実行する(507)。
・サーバ300から代行アクセスの結果(代行HTTPレスポンス)を受信すると(508)、代行HTTPレスポンスをHTTPアクセス管理部102に送信し、HTTPレスポンスの生成を要求する(509)。
【0019】
なお、HTTPアクセス中継装置100はコンピュータを用いて実現され、クライアントアクセス処理部101、HTTPアクセス管理部102及び代行アクセス実行部105は、それぞれの機能に対応したソフトウェアと、これらソフトウェアを実行するためのCPUやメモリといったハードウェアで構成されている。あるいは、これらの一部を専用のハードウェアで構成してもよい。また、HTTPアクセス管理DB103やHTTPアクセス管理ポリシDB104は、HDDや半導体メモリといった記憶装置上に設けられている。
【0020】
このように、HTTPアクセス中継装置100は、クライアント200が目的のサーバ300のリソース301に対して実行するHTTPリクエストをサーバ300に適した状態に編集して代行アクセスを行い、代行アクセスに対するレスポンスをクライアント200に適した状態に編集して返すことにより、サーバ300やそのリソース301を改修することなく、サーバをネットワークシステムに組み込むことが可能となる。
【0021】
図2は、HTTPアクセス管理DB103とHTTPアクセス管理ポリシDB104の例である。
(a)に示すHTTPアクセス管理DB103は、クライアント200から受信したHTTPリクエスト、サーバ300から受信した代行HTTPレスポンスのヘッダ情報、例えば、HTTP種別(リクエスト/レスポンス)、アクセス元、アクセス先、CookieやSet−Cookieの有無や内容などをキーとして、管理ポリシIDが登録されたデータベースである。図2(a)の例では、一行目だと、HTTP種別がHTTPリクエストで、アクセス対象がサーバA、moneyというCookieが含まれるHTTPアクセスの場合、管理ポリシID0001を返すことを表す。
【0022】
(b)に示すHTTPアクセス管理ポリシDB104は、HTTPアクセス管理DB103から取得した管理ポリシIDをキーとして、HTTPアクセスを編集する方法が登録されたデータベースである。図2(b)の例では、管理ポリシID0001の場合、pointというCookieを削除し(一行目)、moneyというCookieはpointに変更する処理を実行する(二行目)よう結果が返る。ここで、HTTPアクセス管理ポリシDB104は、HTTPアクセスに対する処理内容を記載してもよいし、HTTPアクセス処理を行うプログラムの保管場所を示すように構築してもよい。
【0023】
次に、図3及び図4を用いて実施の形態1の動作について説明する。
実施の形態1は、クライアント200からサーバ300のリソース301に対するHTTPリクエストをHTTPアクセス中継装置100が代行する[HTTPリクエスト処理]と、サーバ300のリソース301からの代行HTTPレスポンスをHTTPアクセス中継装置100がクライアント200に返す[HTTPレスポンス処理]により実現される。
【0024】
図3は[HTTPリクエスト処理]のフローチャートである。フローチャートでは、各ステップを3桁の番号で示している。ここで、HTTPアクセス中継装置100のステップには一文字目に「S」を、クライアント200やサーバ300など、HTTPアクセス中継装置100以外のステップには一文字目に「O」を付与している。
【0025】
[ステップO01]
クライアント200は、目的のサーバ300のリソース301に対し、HTTPリクエストを送信する。
[ステップS02]
HTTPアクセス中継装置100は、クライアント200からのHTTPリクエストを受信する。
[ステップS03]
クライアントアクセス処理部101は、HTTPアクセス管理部102にHTTPリクエストを送信し、代行HTTPリクエストの生成を指示する。
[ステップS04]
HTTPアクセス管理部102は、HTTPリクエストのヘッダ情報(アクセス種別、アクセス先、アクセス元、HTTPリクエストに含まれるCookieやSet−Cookieの有無や内容)を利用し、HTTPアクセス管理DB103から管理ポリシIDを取得する。
【0026】
[ステップS05]
ステップS04にて管理ポリシIDの取得に成功した場合(HTTPアクセスの編集が必要な場合)はステップS06へ、管理ポリシIDの取得に失敗した場合(HTTPアクセスの編集が不要な場合)はステップS07へ移行する。
[ステップS06]
管理ポリシIDの取得に成功した場合、HTTPアクセス管理部102は、管理ポリシIDを利用してHTTPアクセス管理ポリシDB104から管理ポリシを取得し、サーバ300やそのリソースへのアクセスに適したフォーマットにHTTPリクエストを編集する。その後はステップS08へ移行する。
[ステップS07]
管理ポリシIDの取得に失敗した場合、HTTPアクセス管理部102は、HTTPリクエストを編集しない。そのままステップS08へ移行する。
[ステップS08]
HTTPアクセス管理部102は、ステップS06、ステップS07の結果得られた代行HTTPリクエストを代行アクセス実行部105に送信し、代行HTTPアクセスの実行を指示する。
[ステップS09]
代行アクセス実行部105は、クライアントの目的のサーバ300のリソース301に対し代行HTTPリクエストによるアクセスを実行する。以降はステップO11のHTTPレスポンス処理へ進む。
【0027】
図4は、HTTPレスポンス処理を示すフローチャートである。
[ステップO11]
サーバ300は、HTTPアクセス中継装置100からの代行HTTPリクエストによるアクセスに対し、アクセス結果(代行HTTPレスポンス)を送信する。
[ステップS12]
HTTPアクセス中継装置100は、サーバ300からの代行HTTPレスポンスを受信する。
[ステップS13]
代行アクセス実行部105は、HTTPアクセス管理部102に代行HTTPレスポンスを送信し、HTTPレスポンスの生成を指示する。
[ステップS14]
ステップS04と同様に、HTTPアクセス管理部102は、HTTPリクエストのヘッダ情報(アクセス種別、アクセス先、アクセス元、HTTPリクエストに含まれるCookieやSet−Cookieの有無や内容)を利用し、HTTPアクセス管理DB103から管理ポリシIDを取得する。
【0028】
[ステップS15]
ステップS05と同様に、ステップS14にて管理ポリシIDの取得に成功した場合(HTTPアクセスの編集が必要な場合)はステップS16へ、管理ポリシIDの取得に失敗した場合(HTTPアクセスの編集が不要な場合)はステップS17へ移行する。
[ステップS16]
管理ポリシIDの取得に成功した場合、HTTPアクセス管理部102は、管理ポリシIDを利用してHTTPアクセス管理ポリシDB104から管理ポリシを取得し、クライアント200に返すのに適したフォーマットにHTTPレスポンスを編集する。その後はステップS18へ移行する。
[ステップS17]
管理ポリシIDの取得に失敗した場合、HTTPアクセス管理部102は、HTTPレスポンスを編集しない。そのままステップS18へ移行する。
[ステップS18]
HTTPアクセス管理部102は、ステップS16、ステップS17の結果得られたHTTPレスポンスをクライアントアクセス処理部101に送信し、HTTPレスポンスの送信を指示する。
[ステップS19]
クライアントアクセス処理部101は、クライアントに適したアクセス結果であるHTTPレスポンスを送信する。
【0029】
このように、実施の形態1のHTTPアクセス中継装置では、HTTPアクセスに対する処理(管理ポリシ)を任意に登録可能とし、HTTPアクセスヘッダ情報を元に利用する管理ポリシを指定することができる。従って、実施の形態1のHTTPアクセス中継装置を適用したネットワークシステムでは、HTTPアクセスに関する仕様の異なるサーバ(例えば、別のネットワークシステムからの移行、統合など)において、サーバを改修することなく、容易に導入することができるようになり、システム構築コストの短縮・削減などの効果が期待できる。
【0030】
以上説明したように、実施の形態1のHTTPアクセス中継装置によれば、クライアントとサーバ間のHTTPアクセスを中継するHTTPアクセス中継装置において、クライアントからのHTTPアクセスを取得した場合、HTTPアクセスの中継を指示し、中継を指示したHTTPアクセスの結果をクライアントに返却するクライアントアクセス処理部と、HTTPパケットの編集方法を示す管理ポリシを、管理ポリシIDをキーとして格納するHTTPアクセス管理ポリシデータベースと、HTTPパケットのヘッダ情報をキーとして、利用する管理ポリシを指定するための管理ポリシIDを格納するHTTPアクセス管理データベースと、HTTPパケットのヘッダ情報を元にHTTPアクセス管理データベースから該当する管理ポリシIDを取得し、さらに管理ポリシIDを利用してHTTPアクセス管理ポリシデータベースから該当する管理ポリシを取得し、これを実行するHTTPアクセス管理部と、HTTPアクセス管理部から得たHTTPパケットを利用してサーバに対して代行アクセスを実行し、その結果をHTTPアクセス管理部に返却する代行アクセス実行部とを備え、HTTPアクセス管理部は、クライアントアクセス処理部よりHTTPアクセスの中継指示を受けた場合に管理ポリシの実行処理を行って、その結果を代行アクセス実行部に送出すると共に、代行アクセス実行部より代行アクセスの結果が返却された場合に管理ポリシの実行処理を行って、その結果をクライアントアクセス処理部に送出するようにしたので、多種多様なネットワークシステムの構成や仕様に対して柔軟な対応が可能となる。
【0031】
また、実施の形態1のHTTPアクセス中継装置のプログラムによれば、クライアントとサーバ間のHTTPアクセスを中継するHTTPアクセス中継装置をコンピュータ上に実現するプログラムにおいて、クライアントからのHTTPアクセスを取得した場合、HTTPアクセスの中継を指示し、中継を指示したHTTPアクセスの結果をクライアントに返却するクライアントアクセス処理部と、HTTPパケットのヘッダ情報を元に、HTTPパケットの編集方法を示す管理ポリシを、管理ポリシIDをキーとして格納するHTTPアクセス管理データベースから該当する管理ポリシIDを取得し、さらに管理ポリシIDを利用して、HTTPパケットのヘッダ情報をキーとして、利用する管理ポリシを指定するための管理ポリシIDを格納するHTTPアクセス管理ポリシデータベースから該当する管理ポリシを取得し、これを実行するHTTPアクセス管理部と、HTTPアクセス管理部から得たHTTPパケットを利用してサーバに対して代行アクセスを実行し、その結果をHTTPアクセス管理部に返却する代行アクセス実行部としてコンピュータを機能させると共に、HTTPアクセス管理部を、クライアントアクセス処理部よりHTTPアクセスの中継指示を受けた場合に管理ポリシの実行処理を行って、その結果を代行アクセス実行部に送出すると共に、代行アクセス実行部より代行アクセスの結果が返却された場合に管理ポリシの実行処理を行って、その結果をクライアントアクセス処理部に送出するよう機能させるため、多種多様なネットワークシステムの構成や仕様に対して柔軟な対応が可能となるHTTPアクセス中継装置をコンピュータ上に実現することができる。
【0032】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【0033】
100 HTTPアクセス中継装置、101 クライアントアクセス処理部、102 HTTPアクセス管理部、103 HTTPアクセス管理データベース、104 HTTPアクセス管理ポリシデータベース、105 代行アクセス実行部、200 クライアント、300 サーバ、301 リソース、400 ネットワーク。

【特許請求の範囲】
【請求項1】
クライアントとサーバ間のHTTPアクセスを中継するHTTPアクセス中継装置において、
前記クライアントからのHTTPアクセスを取得した場合、HTTPアクセスの中継を指示し、当該中継を指示したHTTPアクセスの結果を前記クライアントに返却するクライアントアクセス処理部と、
HTTPパケットの編集方法を示す管理ポリシを、管理ポリシIDをキーとして格納するHTTPアクセス管理ポリシデータベースと、
HTTPパケットのヘッダ情報をキーとして、利用する前記管理ポリシを指定するための管理ポリシIDを格納するHTTPアクセス管理データベースと、
HTTPパケットのヘッダ情報を元に前記HTTPアクセス管理データベースから該当する管理ポリシIDを取得し、さらに当該管理ポリシIDを利用して前記HTTPアクセス管理ポリシデータベースから該当する管理ポリシを取得し、これを実行するHTTPアクセス管理部と、
前記HTTPアクセス管理部から得たHTTPパケットを利用して前記サーバに対して代行アクセスを実行し、その結果を当該HTTPアクセス管理部に返却する代行アクセス実行部とを備え、
前記HTTPアクセス管理部は、前記クライアントアクセス処理部よりHTTPアクセスの中継指示を受けた場合に前記管理ポリシの実行処理を行って、その結果を前記代行アクセス実行部に送出すると共に、前記代行アクセス実行部より代行アクセスの結果が返却された場合に前記管理ポリシの実行処理を行って、その結果を前記クライアントアクセス処理部に送出することを特徴とするHTTPアクセス中継装置。
【請求項2】
クライアントとサーバ間のHTTPアクセスを中継するHTTPアクセス中継装置をコンピュータ上に実現するプログラムにおいて、
前記クライアントからのHTTPアクセスを取得した場合、HTTPアクセスの中継を指示し、当該中継を指示したHTTPアクセスの結果を前記クライアントに返却するクライアントアクセス処理部と、
HTTPパケットのヘッダ情報を元に、HTTPパケットの編集方法を示す管理ポリシを、管理ポリシIDをキーとして格納するHTTPアクセス管理データベースから該当する管理ポリシIDを取得し、さらに当該管理ポリシIDを利用して、HTTPパケットのヘッダ情報をキーとして、利用する前記管理ポリシを指定するための管理ポリシIDを格納するHTTPアクセス管理ポリシデータベースから該当する管理ポリシを取得し、これを実行するHTTPアクセス管理部と、
前記HTTPアクセス管理部から得たHTTPパケットを利用して前記サーバに対して代行アクセスを実行し、その結果を当該HTTPアクセス管理部に返却する代行アクセス実行部としてコンピュータを機能させると共に、
前記HTTPアクセス管理部を、前記クライアントアクセス処理部よりHTTPアクセスの中継指示を受けた場合に前記管理ポリシの実行処理を行って、その結果を前記代行アクセス実行部に送出すると共に、前記代行アクセス実行部より代行アクセスの結果が返却された場合に前記管理ポリシの実行処理を行って、その結果を前記クライアントアクセス処理部に送出するよう機能させることを特徴とするHTTPアクセス中継装置のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2013−37532(P2013−37532A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−173055(P2011−173055)
【出願日】平成23年8月8日(2011.8.8)
【出願人】(000006013)三菱電機株式会社 (33,312)
【出願人】(000236056)三菱電機ビルテクノサービス株式会社 (1,792)
【Fターム(参考)】