Durian

プロキシ変換仕様

コンテンツ変換

基本的な変換ルールはフィルタ方式と同じ仕様で変換を行います。

また、プロキシ先がHTMLやServlet/JSPである必要はなく、PHP・CGI・ASPでも変換を行います。

リクエストメソッド

Durianでサポートされているメソッドは

  • GET
  • POST
  • HEAD

のみです。それ以外のメソッドでリクエストした場合は、エラーを返します。

セッションID自動付加

あらかじめDurian管理ツールで、プロキシ先のアプリケーションが発行するセッションIDを登録しておくと、セッションを引き継げるようにAタグ、FORMタグ、リダイレクト時にURLにセッションIDを付加します。

ただし、クライアントがCookieに対応している場合は、セッションIDの自動付加は行いません。

アプリケーションサーバ固有の注意事項

IBM WebSphere Application Server(以下WAS)上で Durian Proxy を使用する場合、プロキシ先のアプリケーションで発行したJ2EEセッションID(JSESSIONID)は duriansid という名前に置換します。これは、WASでは JSESSIONID をセッションIDだけではなく、キャッシュID、CloneIDといったWAS固有の情報を埋め込むために、JSESSIONIDというパスパラメータをハンドリングしているためです。Durianではこれを回避するために、一時的に duriansid という名前でプロキシ先のセッションIDを保持し、実際にプロキシするタイミングで JSESSIONID パスパラメータに戻して送信します。


リソースセレクト

基本的なルールはフィルタ方式と同じですが、プロキシ方式でのリソースセレクトの場合はリソースマッチングが一度しか行われません。

リソースセレクトについての詳細は、リソースセレクトを参照してください。


リクエストヘッダ

概要

プロキシ方式時はプロキシ先のアプリケーションに対してリクエストヘッダを追加して送信します。送信するヘッダは以下の通りです。


リクエストヘッダ名 説明
Via 経由したProxyサーバーに関する情報。"[HTTPプロトコルバージョン] [サーバー名] (Durianバージョン)" という形式で送信される。ただし、元のリクエストにViaヘッダが含まれている場合は、カンマで区切って送信される Via: 1.1 sample.localhost (Durian4.4.0)
X-Forwarded-For リモートIPアドレス。ただし、元のリクエストにX-Forwarded-Forが含まれている場合は、カンマで区切って送信される X-Forwarded-For: 127.0.0.1
X-Forwarded-Host リモートホスト名。ただし、元のリクエストにX-Forwarded-Hostが含まれている場合は、カンマで区切って送信される X-Forwarded-Host: sample.localhost
X-Forwarded-Server 同上 X-Forwarded-Server: sample.localhost
X-Forwarded-Scheme スキーマ X-Forwarded-Scheme: http or https
Max-Forwards 10固定。ただし、元のリクエストにMax-Forwardsが含まれている場合は、-1した値 Max-Forwards: 10
X-Durian-***** 端末情報を表すリクエストヘッダ。詳しくは端末情報取得を参照 X-Durian-Product-Name: N-06A

Viaヘッダを除く追加リクエストヘッダは、Durian管理ツールで有効/無効を切り替えることができます。

Cookie

概要

プロキシ方式では、リモートサーバが送信したSet-Cookieヘッダのdomainおよびpathをリバース変換し、Cookieが正しくクライアントに設定されるようになります。

デフォルトではこの機能は有効になっています。

リバース変換ルール

Set-Cookieヘッダのdomain属性は、次のようなルールに基づいて変換されます。

  1. domainがリモートサーバのホスト名に完全一致する場合、domainをプロキシサーバのホスト名に変換します。
  2. domainがリモートサーバのホスト名に後方一致するが、プロキシサーバのホスト名には一致しない場合、domainをプロキシサーバのホスト名に変換します。
  3. いずれでもない場合、domainは変換しません。

Set-Cookieヘッダのpath属性は、次のようなルールに基づいて変換されます。

  1. domainがリモートサーバに完全一致・後方一致する場合、もしくはdomainが指定されていない場合で、pathが指定されていた場合、pathをリモートパスまでのURLを付加したものに変換します。
  2. domainがリモートサーバに完全一致・後方一致する場合、もしくはdomainが指定されていない場合で、pathが指定されていない場合、リモートURLのディレクトリ部分をpathとみなし、変換します。
  3. いずれでもない場合、pathは変換しません。

画像変換

プロキシ方式でも画像変換を行います。

詳しい仕様・書式は、画像変換プラグイン仕様を参照してください。


WebTrends

プロキシ方式でもWebTrendsのユーザトラッキングを行います。

詳しい仕様・書式は、WebTrendsプラグイン仕様を参照してください。

Durian® is a registered trademark of Symmetric Co., Ltd.

© 2006- All Rights Reserved Symmetric Co., Ltd.