検索

付録A リファレンス資料

download PDF

A.1. 提供される Undertow ハンドラー

注記

ハンドラーの完全リストは、お使いの JBoss EAP インストールの Undertow コアと一致するバージョンの Undertow コアのソース JAR ファイルを確認してください。Undertow コアのソース JAR ファイルは JBoss EAP Maven リポジトリー からダウンロードでき、利用できるハンドラーは /io/undertow/server/handlers/ ディレクトリーで参照できます。

現在の JBoss EAP インストールで使用されている Undertow コアのバージョンを確認するには、JBoss EAP サーバーの起動中に出力される、以下と似た INFO メッセージを server.log ファイルで検索します。

INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0003: Undertow 1.4.18.Final-redhat-1 starting
AccessControlListHandler

クラス名: io.undertow.server.handlers.AccessControlListHandler

名前: access-control

リモートピアの属性に基づいて要求を受諾または拒否できるハンドラー。

表A.1 パラメーター
名前説明

acl

ACL ルール。このパラメーターは必須です。

attribute

Exchange 属性文字列。このパラメーターは必須です。

default-allow

ハンドラーがデフォルトで要求を受諾または拒否するかどうかを指定するブール値。デフォルトは false です。

AccessLogHandler

クラス名: io.undertow.server.handlers.accesslog.AccessLogHandler

名前: access-log

アクセスログハンドラー。このハンドラーは、提供された書式文字列に基づいてアクセスログメッセージを生成し、提供された AccessLogReceiver にそれらのメッセージを渡します。

このハンドラーは、ExchangeAttribute メカニズムにより提供されたすべての属性をログに記録できます。

このファクトリーは、以下のパターンのトークンハンドラーを生成します。

表A.2 パターン
パターン説明

%A

リモート IP アドレス

%A

ローカル IP アドレス

%b

送信済みバイト数 (HTTP ヘッダーまたは - を除く (バイトが送信されなかった場合))

%B

送信済みバイト数 (HTTP ヘッダーを除く)

%h

リモートホスト名

%H

要求プロトコル

%l

identd からのリモート論理ユーザー名 (常に - を返します)

%m

要求メソッド

%p

ローカルポート

%q

クエリー文字列 (? 文字を除く)

%r

要求の最初の行

%s

応答の HTTP ステータスコード

%t

Common Log Format 形式の日時

%u

認証されたリモートユーザー

%U

要求された URL パス

%v

ローカルサーバー名

%D

要求を処理するのにかかった時間 (ミリ秒単位)

%T

要求を処理するのにかかった時間 (秒単位)

%I

現在の要求スレッド名 (後でスタックトレースと比較できます)

common

%h %l %u %t "%r" %s %b

combined

%h %l %u %t "%r" %s %b "%{i,Referer}" "%{i,User-Agent}"

クッキー、受信ヘッダー、またはセッションから情報を書き込むこともできます。

Apache 構文に基づきます。

  • %{i,xxx} (受信ヘッダーの場合)
  • %{o,xxx} (送信応答ヘッダーの場合)
  • %{c,xxx} (特定のクッキーの場合)
  • %{r,xxx} (xxxServletRequest の属性)
  • %{s,xxx} (xxxHttpSession の属性)
表A.3 パラメーター
名前説明

format

ログメッセージを生成するために使用する形式。これはデフォルトパラメーターです。

AllowedMethodsHandler

特定の HTTP メソッドのホワイトリストに登録するハンドラー。許可されたメソッドセットの 1 つを持つリクエストのみが許可されます。

クラス名: io.undertow.server.handlers.AllowedMethodsHandler

名前: allowed-methods

表A.4 パラメーター
名前説明

methods

許可されるメソッド (GETPOSTPUT など)。これはデフォルトパラメーターです。

BlockingHandler

ブロック要求を開始する HttpHandler。スレッドが現在 I/O スレッドで実行されている場合、スレッドはディスパッチされます。

クラス名: io.undertow.server.handlers.BlockingHandler

名前: blocking

このハンドラーにはパラメーターがありません。

ByteRangeHandler

範囲要求のハンドラー。これは、修正されたコンテンツの長さのリソース (たとえば、content-length ヘッダーが設定されたリソース) に対する範囲要求を処理できる汎用ハンドラーです。コンテンツすべてが生成され、破棄されるため、これは必ずしも範囲要求を処理する最も効率的な方法ではありません。現時点では、このハンドラーは単純な単一の範囲要求しか処理できません。複数の範囲が要求された場合は、Range ヘッダーが無視されます。

クラス名: io.undertow.server.handlers.ByteRangeHandler

名前: byte-range

表A.5 パラメーター
名前説明

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

表A.6 パラメーター
名前説明

methods

許可しないメソッド (たとえば、GETPOSTPUT など)。これはデフォルトパラメーターです。

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

表A.7 パラメーター
名前説明

file

エラーページとして使用するファイルの場所。

response-codes

定義されたエラーページファイルにリダイレクトする応答コードのリスト。

HttpTraceHandler

HTTP トレース要求を処理するハンドラー。

クラス名: io.undertow.server.handlers.HttpTraceHandler

名前: trace

このハンドラーにはパラメーターがありません。

IPAddressAccessControlHandler

リモートピアの IP アドレスに基づいて要求を受諾または拒否できるハンドラー。

クラス名: io.undertow.server.handlers.IPAddressAccessControlHandler

名前: ip-access-control

表A.8 パラメーター
名前説明

acl

アクセス制御リストを表す文字列。これはデフォルトパラメーターです。

failure-status

拒否された要求で返されるステータスコードを表す文字列。

default-allow

デフォルトで許可するかしないかを表すブール値。

JDBCLogHandler

クラス名: io.undertow.server.handlers.JDBCLogHandler

名前: jdbc-access-log

表A.9 パラメーター
名前説明

format

JDBC ログパターンを指定します。デフォルト値は common です。また、combined を使用して、VirtualHost、要求メソッド、参照元、およびユーザーエージェント情報をログメッセージに追加することもできます。

datasource

ログするデータソースの名前。このパラメーターは必須であり、デフォルトパラメーターです。

tableName

テーブル名。

remoteHostField

リモートホストアドレス。

userField

ユーザー名。

timestampField

タイムスタンプ。

virtualHostField

VirtualHost。

methodField

メソッド。

queryField

クエリー。

statusField

ステータス。

bytesField

バイト数。

refererField

参照元。

userAgentField

UserAgent。

LearningPushHandler

ブラウザーが要求するリソースのキャッシュを構築し、サーバープッシュを使用してリソースをプッシュ (サポートされている場合) するハンドラー。

クラス名: io.undertow.server.handlers.LearningPushHandler

名前: learning-push

表A.10 パラメーター
名前説明

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

表A.11 パラメーター
名前説明

value

リダイレクトの宛先。これはデフォルトパラメーターです。

RequestBufferingHandler

すべての要求データをバッファーするハンドラー。

クラス名: io.undertow.server.handlers.RequestBufferingHandler

名前: buffer-request

表A.12 パラメーター
名前説明

buffers

バッファーの最大数を定義する整数。これはデフォルトパラメーターです。

RequestDumpingHandler

exchange をログにダンプするハンドラー。

クラス名: io.undertow.server.handlers.RequestDumpingHandler

名前: dump-request

このハンドラーにはパラメーターがありません。

RequestLimitingHandler

同時リクエストの最大数を制限するハンドラー。この制限を超えたリクエストは、前のリクエストが完了するまでブロックされます。

クラス名: io.undertow.server.handlers.RequestLimitingHandler

名前: request-limit

表A.13 パラメーター
名前説明

requests

同時リクエストの最大数を表す整数。これはデフォルトパラメーターであり、必須です。

ResourceHandler

リソースを提供するハンドラー。

クラス名: io.undertow.server.handlers.resource.ResourceHandler

名前: resource

表A.14 パラメーター
名前説明

location

リソースの場所。これはデフォルトパラメーターであり、必須です。

allow-listing

ディレクトリーのリストを許可するかどうかを決定するブール値。

ResponseRateLimitingHandler

設定された数のバイト/時間にダウンロードレートを制限するハンドラー。

クラス名: io.undertow.server.handlers.ResponseRateLimitingHandler

名前: response-rate-limit

表A.15 パラメーター
名前説明

bytes

ダウンロードレートを制限するバイトの数。このパラメーターは必須です。

time

ダウンロードレートを制限する時間 (秒単位)。このパラメーターは必須です。

SetHeaderHandler

修正された応答ヘッダーを設定するハンドラー。

クラス名: io.undertow.server.handlers.SetHeaderHandler

名前: header

表A.16 パラメーター
名前説明

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

表A.17 パラメーター
名前説明

threshhold

リクエストを処理する時間のしきい値を決定する整数値 (秒単位)。デフォルト値は 600 (10 分) です。これはデフォルトパラメーターです。

URLDecodingHandler

指定された文字セットに URL およびクエリーパラメーターをデコードするハンドラー。このハンドラーを使用している場合は、UndertowOptions.DECODE_URL パラメーターを false に設定する必要があります。

これはパーサーの組み込み UTF-8 デコーダーを使用する場合よりも効率的ではありません。UTF-8 以外の文字セットにデコードする必要がない限り、パーサーのデコードを使用してください。

クラス名: io.undertow.server.handlers.URLDecodingHandler

名前: url-decoding

表A.18 パラメーター
名前説明

charset

デコードする文字セット。これはデフォルトパラメーターであり、必須です。

A.2. 永続ユニットプロパティー

永続ユニット定義は、persistence.xml ファイルから設定できる以下のプロパティーをサポートします。

プロパティー説明

jboss.as.jpa.providerModule

永続プロバイダーモジュールの名前。デフォルトは org.hibernate。永続プロバイダーがアプリケーションとパッケージ化されている場合はアプリケーション名になります。

jboss.as.jpa.adapterModule

JBoss EAP が永続プロバイダーと動作するようにする統合クラスの名前。

jboss.as.jpa.adapterClass

統合アダプターのクラス名。

jboss.as.jpa.managed

コンテナー管理の Jakarta Persistence の永続ユニットへのアクセスを無効にするには false に設定します。デフォルトは true です。

jboss.as.jpa.classtransformer

永続ユニットのクラストランスフォーマーを無効にするには false を設定します。デフォルトは true で、クラスのトランスフォームを許可します。

クラスのトランスフォームを有効にするには、Hibernate の永続ユニットプロパティー hibernate.ejb.use_class_enhancertrue にする必要もあります。

jboss.as.jpa.scopedname

使用されるアプリケーションスコープの修飾永続ユニット名を指定します。デフォルトでは、アプリケーション名と永続ユニット名の組み合わせに設定されます。hibernate.cache.region_prefix のデフォルトは、jboss.as.jpa.scopedname の設定先になります。jboss.as.jpa.scopedname の値は、同じアプリケーションサーバーインスタンスにデプロイされた別のアプリケーションによって使用されていない値に設定するようにしてください。

jboss.as.jpa.deferdetach

非 Jakarta Transactions トランザクションスレッドで使用されるトランザクションスコープの永続コンテキストが各 EntityManager 呼び出しの後にロードされたエントリーをデタッチするかどうか、または永続コンテキストが閉じられるまで待機するかどうかを制御します。デフォルト値は false です。true に設定すると、永続コンテキストが閉じられるまでデタッチが延期されます。

wildfly.jpa.default-unit

アプリケーションのデフォルトの永続ユニットを選択する場合は true に設定します。これは、persistence.xml ファイルに複数の永続ユニットが指定され、unitName を指定せずに永続コンテキストをインジェクトする場合に便利です。

wildfly.jpa.twophasebootstrap

永続プロバイダーを使用すると、2 フェーズ永続ユニットブートストラップが可能になり、Jakarta Persistence の Contexts および Dependency Injection との統合が改善されます。wildfly.jpa.twophasebootstrap の値を false に設定すると、その値が含まれる永続ユニットの 2 フェーズブートストラップが無効になります。

wildfly.jpa.allowdefaultdatasourceuse

永続ユニットがデフォルトのデータソースを使用しないようにするには、 false を設定します。デフォルト値は true です。これは、データソースを指定しない永続ユニットにのみ重要です。

wildfly.jpa.hibernate.search.module

クラスパスに含まれる Hibernate Search のバージョンを制御します。デフォルトは auto です。 その他に有効な値は none と、代替バージョンを使用するためのフルモジュールの識別子です。

A.3. ポリシープロバイダープロパティー

表A.19 policy-provider 属性
プロパティー説明

custom-policy

カスタムのポリシープロバイダー定義。

jacc-policy

Jakarta Authorization および関連サービスを設定するポリシープロバイダー定義。

表A.20 custom-policy 属性
プロパティー説明

class-name

ポリシープロバイダーを参照する java.security.Policy 実装の名前。

module

プロバイダーのロード元となるモジュールの名前。

表A.21 jacc-policy 属性
プロパティー説明

policy

ポリシープロバイダーを参照する java.security.Policy 実装の名前。

configuration-factory

ポリシー設定ファクトリープロバイダーを参照する javax.security.jacc.PolicyConfigurationFactory 実装の名前。

module

プロバイダーのロード元となるモジュールの名前。

A.4. JBoss EAP と対応する Jakarta EE 仕様に関連する Java EE 仕様

JBoss EAP 7.4 では、主に Jakarta EE 仕様のサポートに移行されました。しかし、JBoss EAP 7.4 は特定の Java EE 仕様をサポートします。

表A.22 Java EE 仕様と対応する Jakarta EE 仕様を一覧表示
Java EE 8 仕様Java EE 8 省略形Jakarta EE 8 仕様

Java Servlet

 

Jakarta Servlet

JavaServer Faces

JSF

Jakarta Server Faces

Java API for WebSocket

 

Jakarta WebSocket

Concurrency Utilities for Java EE

 

Jakarta Concurrency

Interceptors

 

Jakarta Interceptors

Java Authentication Service Provider Interface for Containers

JASPIC

Jakarta Authentication

Java Authorization Contract for Containers

JACC

Jakarta Authorization

Java EE Security API

 

Jakarta Security

Java Message Service

JMS

Jakarta Messaging

Java Persistence API

JPA

Jakarta Persistence

Java Transaction API

JTA

Jakarta Transactions

Batch Applications for the Java Platform

JBatch

Jakarta Batch

JavaMail API

 

Jakarta Mail

Java EE Connector Architecture

JCA

Jakarta Connectors

Common Annotations for Java Platform

 

Jakarta Annotations

JavaBeans Activation Framework

JAF

Jakarta Activation

Bean Validation

JBV

Jakarta Bean Validation

Expression Language

JEL

Jakarta Expression Language

Enterprise JavaBeans 3.2

EJB

Jakarta Enterprise Beans

Java Architecture for XML Binding

JAXB

JAXB

Java API for JSON Binding

JSON-B

Jakarta JSON Binding

JavaServer Pages

JSP

Jakarta Server Pages

Java API for XML-Based Web Services

JAX-WS

Jakarta XML Web Services

Java API for RESTful Web Services

JAX-RS

Jakarta RESTful Web Services

JavaServer Pages Standard Tag Library

JSTL

Jakarta Standard Tag Library

Contexts and Dependency Injections

CDI

Jakarta Contexts and Dependency Injection

Java API for JSON Processing

JSON-P

Jakarta JSON Processing

Java API for XML-Based RPC

JAX-RPC

Jakarta XML RPC

Java API for XML Registries

JAXR

Jakarta XML Registries

A.5. Jakarta EE プロファイルおよびテクノロジーリファレンス

以下の表では Jakarta EE テクノロジーとカテゴリーごとに表し、これらかが Web Profile または Full Platform プロファイルに含まれているかどうかを記載しています。

仕様は、「Jakarta EE Specification」を参照してください。

表A.23 Jakarta EE Web Application Technologies
テクノロジーWeb ProfileFull Platform

Jakarta WebSocket 1.1

Jakarta JSON Binding 1.0

Jakarta JSON Processing 1.1

Jakarta Servlet 4.0

Jakarta Server Faces 2.3

Jakarta Expression Language 3.0

Jakarta Server Pages 2.3

Jakarta Standard Tag Library 1.2 1

1 Jakarta Standard Tag Library 情報:

注記

JBoss EAP には既知のセキュリティーリスクが存在します。Jakarta Standard Tag Library が信頼できない XML ドキュメントにおける外部エンティティー参照の処理を許可するため、ホストシステム上のリソースへアクセスし、任意コードが実行される可能性があります。

このリスクを回避するには、通常空の文字列を値として適切に設定されたシステムプロパティー org.apache.taglibs.standard.xml.accessExternalEntity を使用して JBoss EAP サーバーを実行する必要があります。これを行う方法は 2 つあります。

  • システムプロパティーを設定してサーバーを再起動する。

    org.apache.taglibs.standard.xml.accessExternalEntity
  • -Dorg.apache.taglibs.standard.xml.accessExternalEntity="" を引数として standalone.sh または domain.sh スクリプトに渡す。
表A.24 Jakarta EE Enterprise Application Technologies
テクノロジーWeb ProfileFull Platform

Jakarta Batch 1.0

 

Jakarta Concurrency 1.0

 

Jakarta Contexts and Dependency Injection 2.0

Jakarta Contexts and Dependency Injection 1.0

Jakarta Bean Validation 2.0

Jakarta Managed Beans 1.0

Jakarta Enterprise Beans 3.2

 

Jakarta Interceptors 1.2

Jakarta Connectors 1.7

 

Jakarta Persistence 2.2

Jakarta Annotations 1.3

 

Jakarta Messaging 2.0

 

Jakarta Transactions 1.2

Jakarta Mail 1.6

 

表A.25 Jakarta EE Web Services Technologies
テクノロジーWeb ProfileFull Platform

Jakarta RESTful Web Services 2.1

 

Jakarta Enterprise Web Services 1.3

 

Web Services Metadata for the Java Platform 2.1

 

Jakarta XML RPC 1.1 (任意)

  

Jakarta XML Registries 1.0 (任意)

  
表A.26 Jakarta EE Management and Security Technologies
テクノロジーWeb ProfileFull Platform

Jakarta Security 1.0

Jakarta Authentication 1.1

Jakarta Authorization 1.5

 

Jakarta Deployment 1.2 (任意)

 

Jakarta Management 1.1

 

Jakarta Debugging Support for Other Languages 1.0

 





Revised on 2021-05-17 08:56:25 CEST

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.