サービス設定:HTTPモード

HTTP(Hypertext Transfer Protocol, RFC2616)のリクエスト及びレスポンスを解釈して中継します

概要

  • HTTP/1.1 Keep-Alive 及びチャンク転送に対応する
  • 許可されないまたは、サポートされないメソッドを用いたリクエストは、サーバには中継されず、 クライアントに対するHTTPレスポンスとして、ステータスコード405 を返却する
  • 「URLフィルタ機能」を使用するかどうかを設定できる

HTTPメソッドによる制御

中継を許可するHTTPメソッドを選択して設定可能

指定可能な値
options get head post put delete trace connect propfind proppatch mkcol copy move lock unlock search version-control report checkout checkin uncheckout mkworkspace update label merge baseline-control mkactivity bcopy bdelete bmove bpropfind poll x-ms-enumatts subscribe unsubscribe acl orderpatch

HTTPリクエストの情報のロギング

記録する内容は以下のとおり
  • Request-Line の Method、Request-URI、HTTP-Version
  • リクエストヘッダの User-Agent フィールド、Host フィールド
  • Response-Line の Status Code、HTTP-Version
  • リクエストヘッダの Server フィールド
  • レスポンス長

Refererヘッダ除去機能

HTTPリクエストのRefererヘッダを除去できる

  • 除去する方法として、「すべて除去」「パターンによる指定」または「サイトを移動する場合に除去」から選択して設定可能
  • 「パターンによる指定」を選択した場合、RefererヘッダのURIのホストパートに一致させるパターンを指定する。
    • 相対URIが指定された場合には、URIのホストパートに代わりにHostヘッダを検査の対象とする
    シェル表現によるワイルドカード
    • パターンはカンマで区切り、複数個指定可能
    • パターンの先頭が ! (エクスクラメーションマーク) で始まる場合は、続くパターンは受信しないパターンとして解釈する
    • カンマで区切られた複数のパターンの全長として 80 文字まで設定可能
    • 複数のパターンを指定した場合、指定順にパターンを解釈し、最初に一致したパターンで受信するかを決定する
  • 「サイトを移動する場合に除去」を選択した場合、Refererヘッダの URIのホストパートが Host ヘッダの値と一致しない場合には、サイトを移動したとみなしReferer ヘッダを除去

ハンドオフ機能

  • 強制的に上位の HTTPプロキシサーバを経由させることが可能
  • ループを回避するため、ハンドオフ先と接続元の IPアドレスが同一の場合、接続先アドレスにそのまま中継する

コンテンツ長を Content-Length で指定しないPOST PUT PROPFIND PROPPATCHメソッドのリクエストは中継せず、 クライアントに対するHTTPレスポンスとして、ステータスコード 411 を返却する

以下の状況が発生した場合、アプリケーションゲートウェイ自身がクライアントにレスポンスする
  • サーバとの接続が確立できない時
  • サーバからのレスポンスが解釈できない時

ホスト名検査機能

  • ホスト名検査機能を使用するには、リゾルバ機能を設定する必要がある
  • HTTPの透過的なアクセス (HTTPプロキシを使用しない通信が該当) を中継する際に、 クライアントが指定するHTTP リクエストヘッダの内容をDNSの情報を用いて検査することで、DNSキャッシュ汚染や、 アクティブコンテンツを悪用した攻撃を検出してアクセスを拒否し、クライアントに対するHTTPレスポンスとして、ステータスコード400を返却する
    • この時取得したDNSの応答結果はキャッシュする