付録A リファレンス資料
A.1. 提供された Undertow ハンドラー
AccessControlListHandler
クラス名: io.undertow.server.handlers.AccessControlListHandler
名前: access-control
リモートピアの属性に基づいて要求を受領または拒否できるハンドラー。
名前 | 説明 |
---|---|
acl |
ACL ルール。このパラメーターは必須です。 |
attribute |
Exchange 属性文字列。このパラメーターは必須です。 |
default-allow |
ハンドラーがデフォルトで要求を受領または拒否するかどうかを指定するブール値。デフォルト値は |
AccessLogHandler
クラス名: io.undertow.server.handlers.accesslog.AccessLogHandler
名前: access-log
アクセスログハンドラー。このハンドラーは、提供された書式文字列に基づいてアクセスログメッセージを生成し、提供された AccessLogReceiver にそれらのメッセージを渡します。
このハンドラーは、ExchangeAttribute
メカニズムにより提供されたすべての属性をログに記録できます。
このファクトリーは、以下のパターンのトークンハンドラーを生成します。
パターン | 説明 |
---|---|
%a |
リモート IP アドレス |
%A |
ローカル IP アドレス |
%b |
送信済みバイト数 (HTTP ヘッダーまたは |
%B |
送信済みバイト数 (HTTP ヘッダーを除く) |
%h |
リモートホスト名 |
%H |
要求プロトコル |
%l |
|
%m |
要求メソッド |
%p |
ローカルポート |
%q |
クエリー文字列 ( |
%r |
要求の最初の行 |
%s |
応答の HTTP ステータスコード |
%t |
Common Log Format 形式の日時 |
%u |
認証されたリモートユーザー |
%U |
要求された URL パス |
%v |
ローカルサーバー名 |
%D |
要求を処理するのにかかった時間 (ミリ秒単位) |
%T |
要求を処理するのにかかった時間 (秒単位) |
%I |
現在の要求スレッド名 (後でスタックトレースと比較できます) |
common |
|
combined |
|
クッキー、受信ヘッダー、またはセッションから情報を書き込むこともできます。
Apache 構文に基づきます。
-
%{i,xxx}
(受信ヘッダーの場合) -
%{o,xxx}
(送信応答ヘッダーの場合) -
%{c,xxx}
(特定のクッキーの場合) -
%{r,xxx}
(ここで、xxx
は ServletRequest の属性です) -
%{s,xxx}
(ここで、xxx
は HttpSession の属性です)
名前 | 説明 |
---|---|
format |
ログメッセージを生成するために使用する形式。これはデフォルトパラメーターです。 |
AllowedMethodsHandler
特定の HTTP メソッドのホワイトリストに登録するハンドラー。許可されたメソッドセットのメソッドを持つ要求のみが許可されます。
クラス名: io.undertow.server.handlers.AllowedMethodsHandler
名前: allowed-methods
名前 | 説明 |
---|---|
methods |
許可されるメソッド ( |
BlockingHandler
ブロック要求を開始する HttpHandler。スレッドが現在 I/O スレッドで実行されている場合、スレッドはディスパッチされます。
クラス名: io.undertow.server.handlers.BlockingHandler
名前: blocking
このハンドラーにはパラメーターがありません。
ByteRangeHandler
範囲要求のハンドラー。これは、修正されたコンテンツの長さのリソース (たとえば、content-length
ヘッダーが設定されたリソース) に対する範囲要求を処理できる汎用ハンドラーです。コンテンツすべてが生成され、破棄されるため、これは必ずしも、範囲要求を処理する最も効率的な方法ではありません。現時点では、このハンドラーは単純な単一範囲要求しか処理できません。複数の範囲が要求された場合は、Range
ヘッダーが無視されます。
クラス名: io.undertow.server.handlers.ByteRangeHandler
名前: byte-range
名前 | 説明 |
---|---|
send-accept-ranges |
承認範囲を送信するかどうかを決定するブール値。これはデフォルトパラメーターです。 |
CanonicalPathHandler
このハンドラーは、相対パスを正規のパスに変換します。
クラス名: io.undertow.server.handlers.CanonicalPathHandler
名前: canonical-path
このハンドラーにはパラメーターがありません。
DisableCacheHandler
ブラウザーおよびプロキシーによる応答キャッシュを無効にするハンドラー。
クラス名: io.undertow.server.handlers.DisableCacheHandler
名前: disable-cache
このハンドラーにはパラメーターがありません。
DisallowedMethodsHandler
特定の HTTP メソッドをブラックリストに登録するハンドラー。
クラス名: io.undertow.server.handlers.DisallowedMethodsHandler
名前: disallowed-methods
名前 | 説明 |
---|---|
methods |
許可しないメソッド (たとえば、 |
EncodingHandler
このハンドラーは、コンテンツのエンコーディング実装の基礎となります。このハンドラーに委譲するものとして、エンコーディングハンドラーが、指定されたサーバー側の優先度で追加されます。
正しいハンドラーを決定するために q
値が使用されます。q
値なしで要求が行われた場合、サーバーは使用するエンコーディングとして最も優先度が高いハンドラーを選択します。
一致するハンドラーがない場合は、ID エンコーディングが選択されます。q
値が 0
であるため、ID エンコーディングが特別に許可されない場合は、ハンドラーにより応答コード 406 (Not Acceptable)
が設定され、返されます。
クラス名: io.undertow.server.handlers.encoding.EncodingHandler
名前: compress
このハンドラーにはパラメーターがありません。
FileErrorPageHandler
エラーページとして使用するファイルをディスクから提供するハンドラー。このハンドラーはデフォルトで応答コードを提供しません。応答コードは設定する必要があります。
クラス名: io.undertow.server.handlers.error.FileErrorPageHandler
名前: error-file
名前 | 説明 |
---|---|
file |
エラーページとして使用するファイルの場所。 |
response-codes |
定義されたエラーページファイルにリダイレクトする応答コードのリスト。 |
HttpTraceHandler
HTTP トレース要求を処理するハンドラー。
クラス名: io.undertow.server.handlers.HttpTraceHandler
名前: trace
このハンドラーにはパラメーターがありません。
IPAddressAccessControlHandler
リモートピアの IP アドレスに基づいて要求を受領または拒否できるハンドラー。
クラス名: io.undertow.server.handlers.IPAddressAccessControlHandler
名前: ip-access-control
名前 | 説明 |
---|---|
acl |
アクセス制御リストを表す文字列。これはデフォルトパラメーターです。 |
failure-status |
拒否された要求で返されるステータスコードを表す文字列。 |
default-allow |
デフォルトで許可するかしないかを表すブール値。 |
JDBCLogHandler
クラス名: io.undertow.server.handlers.JDBCLogHandler
名前: jdbc-access-log
名前 | 説明 |
---|---|
format |
JDBC ログパターンを指定します。デフォルト値は |
datasource |
ログするデータソースの名前。このパラメーターは必須であり、デフォルトパラメーターです。 |
tableName |
テーブル名。 |
remoteHostField |
リモートホストアドレス。 |
userField |
ユーザー名。 |
timestampField |
タイムスタンプ。 |
virtualHostField |
VirtualHost。 |
methodField |
メソッド。 |
queryField |
クエリー。 |
statusField |
ステータス。 |
bytesField |
バイト数。 |
refererField |
参照元。 |
userAgentField |
UserAgent。 |
LearningPushHandler
ブラウザーが要求するリソースのキャッシュを構築し、サーバープッシュを使用してリソースをプッシュ (サポートされている場合) するハンドラー。
クラス名: io.undertow.server.handlers.LearningPushHandler
名前: learning-push
名前 | 説明 |
---|---|
max-age |
キャッシュエントリーの最大期間を表す整数。 |
max-entries |
キャッシュエントリーの最大数を表す整数。 |
LocalNameResolvingHandler
DNS ルックアップを実行してローカルアドレスを解決するハンドラー。フロントエンドサーバーが X-forwarded-host
ヘッダーを送信した場合、または AJP が使用中の場合は、未解決のローカルアドレスが作成されることがあります。
クラス名: io.undertow.server.handlers.LocalNameResolvingHandler
名前: resolve-local-name
このハンドラーにはパラメーターがありません。
PathSeparatorHandler
URL のスラッシュでない区切り文字をスラッシュに変換するハンドラー。一般的に、Windows システムではバックスラッシュはスラッシュに変換されます。
クラス名: io.undertow.server.handlers.PathSeparatorHandler
名前: path-separator
このハンドラーにはパラメーターがありません。
PeerNameResolvingHandler
リバース DNS ルックアップを実行してピアアドレスを解決するハンドラー。
クラス名: io.undertow.server.handlers.PeerNameResolvingHandler
名前: resolve-peer-name
このハンドラーにはパラメーターがありません。
ProxyPeerAddressHandler
X-Forwarded-For
ヘッダーの値にピアアドレスを設定するハンドラー。これは、このヘッダーを常に設定するプロキシーの背後でのみ使用してください。そのように使用しないと、攻撃者がピアアドレスを偽造することがあります。
クラス名: io.undertow.server.handlers.ProxyPeerAddressHandler
名前: proxy-peer-address
このハンドラーにはパラメーターがありません。
RedirectHandler
302
リダイレクトを使用して、指定された場所にリダイレクトするリダイレクトハンドラー。場所は exchange 属性文字列として指定されます。
クラス名: io.undertow.server.handlers.RedirectHandler
名前: redirect
名前 | 説明 |
---|---|
value |
リダイレクトの宛先。これはデフォルトパラメーターです。 |
RequestBufferingHandler
すべての要求データをバッファするハンドラー。
クラス名: io.undertow.server.handlers.RequestBufferingHandler
名前: buffer-request
名前 | 説明 |
---|---|
buffers |
バッファーの最大数を定義する整数。これはデフォルトパラメーターです。 |
RequestDumpingHandler
exchange をログにダンプするハンドラー。
クラス名: io.undertow.server.handlers.RequestDumpingHandler
名前: dump-request
このハンドラーにはパラメーターがありません。
RequestLimitingHandler
同時リクエストの最大数を制限するハンドラー。この制限を超えたリクエストは、前のリクエストが完了するまでブロックされます。
クラス名: io.undertow.server.handlers.RequestLimitingHandler
名前: request-limit
名前 | 説明 |
---|---|
requests |
同時リクエストの最大数を表す整数。これはデフォルトパラメーターであり、必須です。 |
ResourceHandler
リソースを提供するハンドラー。
クラス名: io.undertow.server.handlers.resource.ResourceHandler
名前: resource
名前 | 説明 |
---|---|
location |
リソースの場所。これはデフォルトパラメーターであり、必須です。 |
allow-listing |
ディレクトリーのリストを許可するかどうかを決定するブール値。 |
ResponseRateLimitingHandler
設定された数のバイト/時間にダウンロードレートを制限するハンドラー。
クラス名: io.undertow.server.handlers.ResponseRateLimitingHandler
名前: response-rate-limit
名前 | 説明 |
---|---|
bytes |
ダウンロードレートを制限するバイトの数。このパラメーターは必須です。 |
time |
ダウンロードレートを制限する時間 (秒単位)。このパラメーターは必須です。 |
SetHeaderHandler
修正された応答ヘッダーを設定するハンドラー。
クラス名: io.undertow.server.handlers.SetHeaderHandler
名前: header
名前 | 説明 |
---|---|
header |
ヘッダー属性の名前。このパラメーターは必須です。 |
value |
ヘッダー属性の値。このパラメーターは必須です。 |
SSLHeaderHandler
以下のヘッダーに基づいて接続の SSL 情報を設定するハンドラー。
- SSL_CLIENT_CERT
- SSL_CIPHER
- SSL_SESSION_ID
このハンドラーがチェーンに存在する場合は、これらのヘッダーが存在しなくても SSL セッション情報が常に上書きされます。
このハンドラーは、リバースプロキシーの背後にあるサーバーでのみ使用する必要があります ( リクエストごとにこれらのヘッダーを常に設定するよう (または、SSL 情報が存在しない場合にこれらの名前を持つ既存のヘッダーを削除するよう) リバースプロキシーが設定された場合)。このように使用しないと、悪意のあるクライアントが SSL 接続をスプーフすることがあります。
クラス名: io.undertow.server.handlers.SSLHeaderHandler
名前: ssl-headers
このハンドラーにはパラメーターがありません。
StuckThreadDetectionHandler
このハンドラーは処理に時間がかかるリクエストを検出します (処理中のスレッドが停止していることを示すことがあります)。
クラス名: io.undertow.server.handlers.StuckThreadDetectionHandler
名前: stuck-thread-detector
名前 | 説明 |
---|---|
threshhold |
リクエストを処理する時間のしきい値を決定する整数値 (秒単位)。デフォルト値は |
URLDecodingHandler
指定された文字セットに URL およびクエリーパラメーターをデコードするハンドラー。このハンドラーを使用している場合は、UndertowOptions.DECODE_URL パラメーターを false
に設定する必要があります。
これはパーサーの組み込み UTF-8 デコーダーを使用する場合よりも効率的ではありません。UTF-8 以外の文字セットにデコードする必要がない限り、パーサーのデコードを使用してください。
クラス名: io.undertow.server.handlers.URLDecodingHandler
名前: url-decoding
名前 | 説明 |
---|---|
charset |
デコードする文字セット。これはデフォルトパラメーターであり、必須です。 |
Revised on 2018-04-05 09:32:00 EDT