A.26. Undertow 子系统属性
本参考提供了关于红帽 JBoss Enterprise Application Platform 中 undertow 子系统不同元素的属性的详细信息。
这些表中的属性名称会在管理模型中出现时列出,例如使用管理 CLI 时。请参阅位于 EAP_HOME/docs/schema/wildfly-undertow_4_0.xsd 的 schema 定义文件,以查看 XML 中出现的元素,因为管理模型可能存在不同。
| 属性 | default | 描述 |
|---|---|---|
| default-security-domain | 其他 | Web 部署使用的默认安全域。 |
| default-server | default-server | 用于部署的默认服务器。 |
| default-servlet-container | default | 用于部署的默认 servlet 容器。 |
| default-virtual-host | default-host | 用于部署的默认虚拟主机。 |
| instance-id | ${jboss.node.name} | 集群实例 ID。 |
| obfuscate-session-route | true | instance-id 值是否在服务器路由过程中模糊处理。模糊处理的服务器路由不会在服务器重启后更改,除非 instance-id 值有变化。 |
| 启用统计 | false | 是否启用统计数据。 |
应用程序安全域属性
应用程序安全域属性具有以下结构:
application-security-domain 属性
| 属性 | default | 描述 |
|---|---|---|
| enable-jacc | false | 启用使用 Java 授权合同进行容器的授权。 |
| enable-jaspi | true | 为关联的部署启用 {JAAS}。 |
| http-authentication-factory | 供引用映射安全域的部署使用 HTTP 身份验证工厂。 | |
| integrated-jaspi | true |
是否应使用 |
| override-deployment-config | false | 部署中的身份验证配置是否应被工厂覆盖。 |
| referencing-deployments | 当前引用此映射的部署。 | |
| security-domain |
部署使用的 |
单点登录属性
| 属性 | default | 描述 |
|---|---|---|
| client-ssl-context | 引用用于保护反向通道注销连接的 SSL 上下文。 | |
| cookie-name | JSESSIONIDSSO | Cookie 的名称。 |
| credential-reference | 用于解密私钥条目的凭证引用。 | |
| domain | 要使用的 Cookie 域。 | |
| 仅 HTTP-only | false | 设置 cookie httpOnly 属性。 |
| key-alias | 用于签名和验证反向通道注销连接的私钥条目的别名。 | |
| key-store | 对包含私钥条目的密钥存储的引用。 | |
| path | / | Cookie 路径. |
| secure | false | 设置 Cookie secure 属性。 |
缓冲区缓存属性
| 属性 | default | 描述 |
|---|---|---|
| buffer-size | 1024 | 缓冲区的大小。较小的缓冲区可以更有效地使用空间。 |
| buffer-per-region | 1024 | 每个区域的缓冲区数量。 |
| max-regions | 10 | 区域的最大数量。这会控制可用于缓存的最大内存量。 |
字节缓冲池属性
| 属性 | default | 描述 |
|---|---|---|
| buffer-size | 每个缓冲区片段的大小(以字节为单位)。如果没有指定,则根据系统的可用 RAM 设置大小:
有关此属性的性能调整建议,请参阅 JBoss EAP 性能调整中的 Configuring Buffer Pools 。 | |
| direct | 指明此缓冲区是直接或堆池的布尔值。如果没有指定,则该值会根据系统的可用 RAM 设置:
请注意,直接池也具有对应的堆池。 | |
| leak-detection-percent | 0 | 应该分配有泄漏检测器的缓冲百分比。 |
| max-pool-size | 要保留在池中的最大缓冲区数量。缓冲区仍会超过这个限制,但如果池已满,则不会保留缓冲区。 | |
| thread-local-cache-size | 12 | 每线程缓存的大小。这是一个最大大小,如果线程实际分配缓冲区,缓存将使用智能大小来保留线程上的缓冲区。 |
Servlet 容器属性
servlet 容器组件具有以下结构:
Servlet-container 属性
| 属性 | default | 描述 |
|---|---|---|
| allow-non-standard-wrappers | false | 是否可以使用不扩展标准打包程序类的请求和响应打包程序。 |
| default-buffer-cache | default | 用于缓存静态资源的缓冲区缓存。 |
| default-cookie-version | 0 | 用于应用创建 Cookie 的默认 Cookie 版本。 |
| default-encoding | 用于所有部署的应用程序的默认编码。 | |
| default-session-timeout | 30 | 容器中部署的所有应用的默认会话超时(以分钟为单位)。 |
| directory-listing | 如果应该为默认的 servlet 启用目录列表。 | |
| disable-caching-for-secured-pages | true | 是否将标头设置为禁用安全页面的缓存。禁用这可能导致安全问题,因为敏感页面可能会被中间部分缓存。 |
| disable-file-watch-service | false |
如果设置为 |
| disable-session-id-reuse | false |
如果设置为 |
| eager-filter-initialization | false | 是否在部署启动时调用过滤 init (),而不是在第一次请求时调用。 |
| ignore-flush | false | 忽略 servlet 输出流上的清除。在大多数情况下,这些只是因为其他任何原因而只有 hurt 的性能。 |
| max-sessions | 一次可以处于活跃状态的最大会话数。 | |
| active-authentication | true |
是否使用主动身份验证。如果这是 |
| session-id-length | 30 | 会话 ID 越长,更安全。这个值指定生成的会话 ID 的长度,以字节为单位。系统将生成的会话 ID 编码为 Base64 字符串,并以会话 ID Cookie 向客户端提供结果。因此,服务器会向客户端发送一个 Cookie 值,比最初生成的会话 ID 大约 33%。例如,会话 ID 长度为 30 会导致 Cookie 值长度为 40。 |
| stack-trace-on-error | local-only |
如果错误页面应该生成具有堆栈追踪的错误。值包括 |
| use-listener-encoding | false | 使用监听程序上定义的编码。 |
MIME-mapping 属性
| 属性 | default | 描述 |
|---|---|---|
| value | 此映射的 mime 类型。 |
crawler-session-management 属性
为 crawler bots 配置特殊会话处理。
在使用管理 CLI 管理 crawler-session-management 元素时,可在 servlet-container 元素的 设置 下提供。例如:
/subsystem=undertow/servlet-container=default/setting=crawler-session-management:add /subsystem=undertow/servlet-container=default/setting=crawler-session-management:read-resource
/subsystem=undertow/servlet-container=default/setting=crawler-session-management:add
/subsystem=undertow/servlet-container=default/setting=crawler-session-management:read-resource
| 属性 | default | 描述 |
|---|---|---|
| session-timeout | 由 crawlers 拥有的会话的会话超时(以秒为单位)。 | |
| user-agents | 用于与 crawler 的用户代理匹配的正则表达式。 |
JSP 属性
在使用管理 CLI 管理 jsp 元素时,它位于 servlet-container 元素的 设置 下。例如:
/subsystem=undertow/servlet-container=default/setting=jsp:read-resource
/subsystem=undertow/servlet-container=default/setting=jsp:read-resource
| 属性 | default | 描述 |
|---|---|---|
| check-interval | 0 | 使用后台线程检查 Jakarta Server Pages 更新间隔。这对使用文件系统通知 API 处理 Jakarta 服务器页面更改通知的大多数部署没有影响。这只有在文件监视服务被禁用时才会生效。 |
| 开发 | false | 启用开发模式,以便即时重新加载 Jakarta 服务器页面。 |
| disabled | false | 启用 Jakarta Server Pages 容器。 |
| display-source-fragment | true | 当发生运行时错误时,尝试显示对应的 Jakarta Server Pages 源片段。 |
| dump-smap | false | 将 SMAP 数据写入文件。 |
| error-on-use-bean-invalid-class-attribute | false | 在 useBean 中使用错误的类时启用错误。 |
| generate-strings-as-char-arrays | false | 将 String constants 生成为字符数组。 |
| java-encoding | UTF8 | 指定用于 Java 源的编码。 |
| keep-generated | true | 保留生成的 servlet。 |
| mapped-file | true | 映射到 Jakarta 服务器页面源。 |
| modification-test-interval | 4 | 两次测试更新间隔的最小时间,以秒为单位。 |
| optimize-scriptlets | false | 如果 Jakarta Server Pages scriptlets 应该进行了优化,以删除字符串串联。 |
| recompile-on-fail | false | 在每个请求上重试失败的 Jakarta Server Pages 编译。 |
| scratch-dir | 指定不同的工作目录。 | |
| SMAP | true | 启用 SMAP。 |
| source-vm | 1.8 | 编译的源虚拟机级别。 |
| tag-pooling | true | 启用标签池。 |
| target-vm | 1.8 | 用于编译的目标虚拟机级别。 |
| trim-spaces | false | 从生成的 servlet 中修剪一些空格。 |
| x-powered-by | true | 启用以 x 驱动方式广告 Jakarta Server Pages 引擎。 |
persistent-sessions 属性
在使用管理 CLI 管理 persistent-sessions 元素时,它可在 servlet-container 元素 中的设置 下使用。例如:
/subsystem=undertow/servlet-container=default/setting=persistent-sessions:add /subsystem=undertow/servlet-container=default/setting=persistent-sessions:read-resource
/subsystem=undertow/servlet-container=default/setting=persistent-sessions:add
/subsystem=undertow/servlet-container=default/setting=persistent-sessions:read-resource
| 属性 | default | 描述 |
|---|---|---|
| path | 持久会话数据目录的路径。如果这是 null,则会话将保存在内存中。 | |
| relative-to | 路径相对的目录。 |
session-cookie 属性
在使用管理 CLI 管理 session-cookie 元素时,它位于 servlet-container 元素的 设置 下。例如:
/subsystem=undertow/servlet-container=default/setting=session-cookie:add /subsystem=undertow/servlet-container=default/setting=session-cookie:read-resource
/subsystem=undertow/servlet-container=default/setting=session-cookie:add
/subsystem=undertow/servlet-container=default/setting=session-cookie:read-resource
| 属性 | default | 描述 |
|---|---|---|
| 注释 | Cookie 注释. | |
| domain | Cookie 域. | |
| 仅 HTTP-only | Cookie 是否为 http-only。 | |
| max-age | Cookie 的最长期限。 | |
| 名称 | Cookie 的名称。 | |
| secure | Cookie 是否安全。 |
Websocket 属性
在使用管理 CLI 管理 websocket 元素时,可在 servlet-container 元素的 设置 下提供。例如:
/subsystem=undertow/servlet-container=default/setting=websockets:read-resource
/subsystem=undertow/servlet-container=default/setting=websockets:read-resource
| 属性 | default | 描述 |
|---|---|---|
| buffer-pool | default | 用于 websocket 部署的缓冲池。 |
| deflater-level | 0 | 配置 DEFLATE 算法的压缩级别。 |
| assign-to-worker | true |
回调是否应分配给 worker 线程。如果这是 |
| per-message-deflate | false | 启用 websocket 每消息压缩扩展。 |
| worker | default | 用于 websocket 部署的 worker。 |
welcome-file 属性
定义 welcome 文件,没有选项。
过滤属性
这些组件可以在 /subsystem=undertow/configuration=filter 中找到。
custom-filter 过滤器
| 属性 | default | 描述 |
|---|---|---|
| class-name | HttpHandler 类名称. | |
| module | 可以从中加载 class 的模块名称。 | |
| parameters | 过滤参数。 |
error-page Filters
错误页面
| 属性 | default | 描述 |
|---|---|---|
| code | 错误页面代码。 | |
| path | 错误页面路径。 |
expression-filter 过滤器
从 Undertow 表达式语言解析的过滤器。
| 属性 | default | 描述 |
|---|---|---|
| expression | 定义过滤器的表达式。 | |
| module | 用于加载过滤器定义的模块。 |
gzip 过滤器
定义 gzip 过滤器,且没有属性。
mod-cluster Filters
mod-cluster 过滤器组件具有以下结构:
| 属性 | default | 描述 |
|---|---|---|
| advertise-frequency | 10000 | mod_cluster 在网络上公告自身的频率(以毫秒为单位)。 |
| advertise-path | / | mod_cluster 在其中注册的路径。 |
| advertise-protocol | http | 使用的协议。 |
| advertise-socket-binding | 用于公告的多播组。 | |
| broken-node-timeout | 60000 | 从表中移除有问题的节点前必须经过的时间长度。 |
| cache-connections-per-thread | 5 | 无限期保留的连接数量。 |
| connection-idle-timeout | 60 |
连接在关闭前可以闲置的时间。当池大小接近配置的最小值时,连接不会超时,这由 |
| connections-per-thread | 10 | 每个 IO 线程要维护到后端服务器的连接数量。 |
| enable-http2 | false | 负载均衡器是否应该尝试升级到 HTTP/2 的后端连接。如果不支持 HTTP/2,则 HTTP 或 HTTPS 将正常使用。 |
| failover-strategy | ENABLE_BALANCED | 确定在会话具有关联性的节点不可用的情况下如何选择故障转移节点的属性。 |
| health-check-interval | 10000 | 健康检查 ping 到后端节点的频率。 |
| http2-enable-push | true | 是否为 HTTP/2 连接启用推送。 |
| http2-header-table-size | 4096 | 用于 HPACK 压缩的标头表的大小(以字节为单位)。这个内存量将为每个连接分配压缩。较大的值会使用更多内存,但可能会提供更好的压缩。 |
| http2-initial-window-size | 65535 | 流控制窗口大小(以字节为单位),用于控制客户端如何将数据发送到服务器的速度。 |
| http2-max-concurrent-streams | 在单个连接上可以处于活跃状态的 HTTP/2 流的最大数量。 | |
| http2-max-frame-size | 16384 | 最大 HTTP/2 帧大小,以字节为单位。 |
| http2-max-header-list-size | 服务器准备接受的最大请求标头大小(以字节为单位)。 | |
| management-access-predicate |
适用于传入请求的 predicate,以确定它们是否可以执行 mod 集群管理命令。通过限制对来自 | |
| management-socket-binding | mod_cluster 管理端口的套接字绑定。使用 mod_cluster 两个 HTTP 侦听器时,应定义一个用于处理请求的公共 HTTP 侦听器,以及一个绑定到内部网络来处理 mod 集群命令的一个绑定。此套接字绑定应与内部监听程序对应,不应公开访问。 | |
| max-ajp-packet-size | 8192 | AJP 数据包的最大大小(以字节为单位)。增加这将允许 AJP 工作处理具有大量标头的请求和响应。这在负载均衡器和后端服务器之间必须相同。 |
| max-request-time | -1 | 请求后端节点在被终止前可以花费的最长时间。 |
| max-retries | 1 | 如果请求失败,您可以尝试重试请求的次数。 注意 如果请求不被视为幂等,则只有在代理可以确定没有发送到后端服务器时,才会重试请求。 |
| request-queue-size | 10 | 如果连接池已满,则在请求被拒绝前,可以排队的请求数。 |
| security-key | 用于 mod_cluster 组的安全密钥。所有成员都必须使用相同的安全密钥。 | |
| security-realm |
提供 SSL 配置的安全域。deprecated :使用 | |
| ssl-context |
对过滤器使用的 | |
| use-alias | false | 是否执行别名检查。 |
| worker | default | 用于发送公告通知的 XNIO worker。 |
| 属性 | default | 描述 |
|---|---|---|
| max-attempts | 将请求发送到后端服务器的尝试次数。 | |
| sticky-session | 如果启用了粘性会话。 | |
| sticky-session-cookie | 会话 Cookie 名称。 | |
| sticky-session-force |
如果这是 | |
| sticky-session-path | 粘性会话 Cookie 的路径。 | |
| sticky-session-remove | 如果请求无法路由到正确的主机,请删除会话 Cookie。 | |
| wait-worker | 等待可用 worker 的秒数。 |
load-balancing-group 属性
定义负载平衡组,没有选项。
| 属性 | default | 描述 |
|---|---|---|
| 别名 | 节点别名。 | |
| cache-connections | 无限期保留的连接数量。 | |
| 已选择 | 选择的数量。 | |
| flush-packets | 如果接收的数据应该立即清除。 | |
| load | 此节点的当前负载。 | |
| load-balancing-group | 此节点所属的负载平衡组。 | |
| max-connections | 每个 IO 线程的最大连接数。 | |
| open-connections | 当前打开的连接数量。 | |
| ping | 节点 ping。 | |
| queue-new-requests | 如果收到请求,且在排队时没有立即可用的 worker。 | |
| 读取 | 从节点读取的字节数。 | |
| request-queue-size | 请求队列的大小。 | |
| status | 此节点的当前状态。 | |
| timeout | 请求超时。 | |
| ttl |
如果连接数量大于 | |
| uri | 负载均衡器用于连接节点的 URI。 | |
| 写 | 传送到节点的字节数。 |
| 属性 | default | 描述 |
|---|---|---|
| requests | 针对此上下文的请求数。 | |
| status | 此上下文的状态。 |
request-limit 过滤器
| 属性 | default | 描述 |
|---|---|---|
| max-concurrent-requests | 并发请求数上限。 | |
| queue-size | 在队列开始被拒绝前到队列的请求数。 |
response-header Filters
响应标头过滤器允许您添加自定义标头。
| 属性 | default | 描述 |
|---|---|---|
| header-name | 标头名称。 | |
| header-value | 标头值。 |
重写过滤器
| 属性 | default | 描述 |
|---|---|---|
| 重定向 | false | 重定向是否完成,而不是重写。 |
| target | 定义目标的表达式。如果您要重定向到恒定目标,请在值后面放置单引号。 |
处理程序属性
这些组件可以在 /subsystem=undertow/configuration=handler 中找到。
文件属性
| 属性 | default | 描述 |
|---|---|---|
| cache-buffer-size | 1024 | 缓冲区的大小。 |
| cache-buffers | 1024 | 缓冲区数量。 |
| case-sensitive | true |
是否使用区分大小写的文件处理。请注意,如果底层文件系统不区分大小写,则设为 |
| directory-listing | false | 是否启用目录列表。 |
| follow-symlink | false | 是否启用以下符号链接: |
| path | 文件处理程序将为其提供资源的文件系统的路径。 | |
| safe-symlink-paths | 可以作为符号链接目标的路径。 |
将 WebDAV 用于静态资源
最初,JBoss EAP 使用 JBoss Web 子系统,WebDAV 可以通过 WebdavServlet 来托管静态资源,并启用用于访问和操作文件的额外 HTTP 方法。随着 Undertow 充当 JBoss EAP 8.0 中的集成 Web 层,子系统现在提供通过文件处理程序提供静态文件的机制。但是,它不包括 WebDAV 支持。如果您需要 WebDAV 功能,请考虑为您的 JBoss EAP 8.0 环境实施自定义 WebDAV servlet。
reverse-proxy 属性
reverse-proxy 处理程序组件具有以下结构:
| 属性 | default | 描述 |
|---|---|---|
| cache-connections-per-thread | 5 | 无限期保留的连接数量。 |
| connection-idle-timeout | 60 | 连接在关闭前可以闲置的时间。当池大小接近配置的最小值(如 cached-connections-per-thread 配置)后,连接不会超时。 |
| connections-per-thread | 40 | 每个 IO 线程要维护到后端服务器的连接数量。 |
| max-request-time | -1 | 代理请求在被终止前可以处于活跃状态的最长时间。默认值为 unlimited。 |
| max-retries | 1 | 如果请求失败,将发出尝试重试请求的次数。 注意 如果请求不被视为幂等,则只有在代理可以确定没有发送到后端服务器时,才会重试请求。 |
| problem-server-retry | 30 | 尝试重新连接关闭的服务器前等待的时间(以秒为单位)。 |
| request-queue-size | 10 | 如果连接池已满,则在请求被拒绝前,可以排队的请求数。 |
| session-cookie-names | JSESSIONID | 以逗号分隔的会话 Cookie 名称列表。通常,这将是 JSESSIONID。 |
| 属性 | default | 描述 |
|---|---|---|
| enable-http2 | false |
如果为 |
| instance-id | 将用来启用粘性会话的实例 ID 或 JVM 路由。 | |
| outbound-socket-binding | 此主机的出站套接字绑定。 | |
| path | / | 如果主机使用非根资源,则可选路径。 |
| scheme | http | 使用的方案类型。 |
| security-realm | 为与主机连接提供 SSL 配置的安全域。 | |
| ssl-context | 引用此处理程序使用的 SSLContext。 |
服务器属性
服务器组件具有以下结构:
服务器属性
| 属性 | default | 描述 |
|---|---|---|
| default-host | default-host | 服务器的默认虚拟主机。 |
| servlet-container | default | 服务器的默认 servlet 容器。 |
AJP-listener 属性
| 属性 | default | 描述 |
|---|---|---|
| allow-encoded-slash | false |
如果请求附带编码的字符,如 |
| allow-equals-in-cookie-value | false | 是否允许未转义的 Cookie 值中的字符。未加引号的 Cookie 值不能包含等号字符。如果值在等号前结束。Cookie 值的其余部分将被丢弃。 |
| allow-unescaped-characters-in-url | false |
是否允许 URL 中的未转义字符。如果设置为 |
| always-set-keep-alive | true | Connection: keep-alive 标头会添加到响应中,即使规格不严格要求也是如此。 |
| buffer-pipelined-data | false | 是否缓冲管道请求。 |
| buffer-pool | default | AJP 侦听器的缓冲区池。 |
| decode-url | true |
如果这是 |
| disallowed-methods | ["TRACE"] | 不允许的 HTTP 方法的逗号分隔列表。 |
| enabled | true | 如果启用了监听程序。deprecated: Enabled 属性可能会导致配置一致性强制出现问题。 |
| max-ajp-packet-size | 8192 | AJP 数据包支持的最大大小。如果这被修改,则需要在负载均衡器和后端服务器上增加它。 |
| max-buffered-request-size | 16384 | 缓冲请求的最大大小,以字节为单位。通常不会缓冲请求,最常见的情况是在为 POST 请求执行 SSL 重新协商时,后的数据必须完全缓冲才能执行重新协商。 |
| max-connections |
并发连接的最大数量。如果在服务器配置中没有设置值,则并发连接数量的限制是 | |
| max-cookies | 200 | 将要解析的最大 Cookie 数量。这用于防止哈希漏洞。 |
| max-header-size | 1048576 | HTTP 请求标头的最大大小(以字节为单位)。 |
| max-headers | 200 | 将要解析的最大标头数。这用于防止哈希漏洞。 |
| max-parameters | 1000 | 将要解析的最大参数数。这用于防止哈希漏洞。这适用于查询参数和 POST 数据,但不适用于累积数据。因此,您可能具有 max 参数 * 2 总计的参数。 |
| max-post-size | 10485760 | 接受后的最大大小 |
| no-request-timeout | 60000 | 在容器关闭前,连接可以闲置的时间长度(以毫秒为单位)。 |
| read-timeout |
以毫秒为单位配置套接字的读取超时。如果给定的时间在读取成功读取的情况下经过一段时间,则套接字的下一个读取将抛出 | |
| receive-buffer | 接收缓冲区大小。 | |
| record-request-start-time | false | 是否记录请求开始时间,以允许记录请求时间。这会对性能有小但可衡量的性能影响。 |
| redirect-socket | 如果此侦听器支持非 SSL 请求,并且收到一个匹配需要 SSL 传输的请求,是否自动将请求重定向到此处指定的套接字绑定端口。 | |
| request-parse-timeout | 解析请求的最大时间(以毫秒为单位)。 | |
| resolve-peer-address | false | 启用主机 DNS 查找。 |
| scheme | 侦听器方案可以是 HTTP 或 HTTPS。默认情况下,方案将从传入的 AJP 请求中获取。 | |
| secure | false |
如果这是 |
| send-buffer | 发送缓冲区大小。 | |
| socket-binding | AJP 侦听器的套接字绑定. | |
| tcp-backlog | 使用指定的积压配置服务器。 | |
| tcp-keep-alive | 配置通道以独立于实施的方式发送 TCP keep-alive 消息。 | |
| url-charset | UTF-8 | URL charset。 |
| worker | default | 侦听器的 XNIO worker。 |
| write-timeout |
以毫秒为单位为套接字配置写入超时。如果给定时间没有成功写入,则套接字的下一个写入将抛出 |
主机属性
| 属性 | default | 描述 |
|---|---|---|
| alias | 主机以逗号分隔的别名列表。 | |
| default-response-code | 404 | 如果设置,则这是在服务器上不存在请求的上下文时发回的响应代码。 |
| default-web-module | ROOT.war | 默认 Web 模块. |
| disable-console-redirect | false |
如果设置为 |
| queue-requests-on-start | true |
如果设置为 |
filter-ref 属性
| 属性 | default | 描述 |
|---|---|---|
| predicate | 谓词提供了一种基于交换的 true/false 决策的简单方法。许多处理程序都要求有条件地应用它们,而 predicates 则提供指定条件的常规方法。 | |
| priority | 1 |
定义过滤器顺序。较低数字指示服务器之前包含在处理程序链中,而不是同一上下文以上的其他数字。值范围为 |
位置属性
| 属性 | default | 描述 |
|---|---|---|
| handler | 此位置的默认处理程序。 |
filter-ref 属性
| 属性 | default | 描述 |
|---|---|---|
| predicate | 谓词提供了一种基于交换的 true/false 决策的简单方法。许多处理程序都要求有条件地应用它们,而 predicates 则提供指定条件的常规方法。 | |
| priority | 1 | 定义过滤器顺序。它应设置为 1 或更多。数值越高,指示服务器之前包含在处理程序链中,而不是同一上下文下的其他人。 |
access-log 属性
在使用管理 CLI 管理 access-log 元素时,它位于 host 元素的 settings 下。例如:
/subsystem=undertow/server=default-server/host=default-host/setting=access-log:add /subsystem=undertow/server=default-server/host=default-host/setting=access-log:read-resource
/subsystem=undertow/server=default-server/host=default-host/setting=access-log:add
/subsystem=undertow/server=default-server/host=default-host/setting=access-log:read-resource
| 属性 | default | 描述 |
|---|---|---|
| 目录 | ${jboss.server.log.dir} | 用于保存日志的目录。 |
| Extended | false | 日志是否使用扩展日志文件格式。 |
| pattern | Common | 访问日志模式。有关此属性可用选项的详细信息,请参阅 JBoss EAP 开发指南中的 Provided Undertow Handlers。 注意
如果将模式设置为打印处理请求的时间,还必须在适当的监听器上启用 /subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=record-request-start-time,value=true)
|
| predicate | 确定是否应记录请求的 predicate。 | |
| prefix | access_log。 | 日志文件名称的前缀。 |
| relative-to | 路径相对的目录。 | |
| rotate | true | 是否每天轮转访问日志。 |
| suffix | log | 日志文件名称的后缀。 |
| use-server-log | false | 日志是否应写入服务器日志,而不是单独的文件。 |
| worker | default | 用于日志记录的 worker 名称。 |
console-access-log 属性
| 属性 | default | 描述 |
|---|---|---|
| 属性 | {remote-host={},remote-user={},date-time={},request-line={},response-code={},bytes-sent={}} | 指定控制台访问日志输出中包含的日志数据,或指定默认数据的自定义。 |
| include-host-name | false |
指定是否在 JSON 结构化输出中包含主机名。如果设置为 |
| metadata | 指定要在控制台访问日志输出中包含的自定义元数据。 | |
| predicate | 确定是否应记录请求的 predicate。 | |
| worker | default | 用于日志记录的 worker 名称。 |
http-invoker 属性
| 属性 | default | 描述 |
|---|---|---|
| http-authentication-factory | 用于身份验证的 HTTP 身份验证工厂。 | |
| path | wildfly-services | 安装服务的路径。 |
| security-realm | 用于身份验证的旧安全域。 |
单点登录属性
在使用管理 CLI 管理 单注册 元素时,它可在 host 元素的设置 下使用。例如:
/subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on:add /subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on:read-resource
/subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on:add
/subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on:read-resource
默认情况下,在 JBoss EAP 8.0 中运行 ha 配置文件时,每个主机都维护自己的 Infinispan 缓存来存储会话和 SSO cookie 信息。此缓存基于 web 缓存容器的默认缓存。JBoss EAP 还管理所有主机中的身份验证详情传播,确保整个集群中的一致会话和单点登录数据。
| 属性 | default | 描述 |
|---|---|---|
| cookie-name | JSESSIONIDSSO | Cookie 的名称。 |
| domain | 要使用的 Cookie 域。 | |
| 仅 HTTP-only | false | 设置 cookie httpOnly 属性。 |
| path | / | Cookie 路径. |
| secure | false | 设置 Cookie secure 属性。 |
http-listener 属性
| 属性 | default | 描述 |
|---|---|---|
| allow-encoded-slash | false |
如果请求附带编码的字符,如 |
| allow-equals-in-cookie-value | false | 是否允许未转义的 Cookie 值中的字符。未加引号的 Cookie 值不能包含等号字符。如果值在等号前结束。Cookie 值的其余部分将被丢弃。 |
| allow-unescaped-characters-in-url | false |
是否允许 URL 中的未转义字符。如果设置为 |
| always-set-keep-alive | true | 是否将 'Connection: keep-alive' 标头添加到响应中,即使规格不严格要求也是如此。 |
| buffer-pipelined-data | false | 是否缓冲管道请求。 |
| buffer-pool | default | 侦听器的缓冲池。 |
| 证书转发 | false |
是否应启用证书转发。如果启用此设置,则侦听器将从 |
| decode-url | true | 解析器将使用所选字符编码解码 URL 和查询参数,默认为 UTF-8。如果为 false,则不会解码它们。这将允许后续处理程序将它们解码为需要的任何 charset 中。 |
| disallowed-methods | ["TRACE"] | 不允许的 HTTP 方法的逗号分隔列表。 |
| enable-http2 | false | 是否为此监听器启用 HTTP/2 支持。 |
| enabled | true | 是否启用监听程序。deprecated: Enabled 属性可能会导致配置一致性强制出现问题。 |
| http2-enable-push | true | 是否为这个连接启用服务器推送。 |
| http2-header-table-size | 4096 | 用于 HPACK 压缩的标头表的大小(以字节为单位)。这个内存量将为每个连接分配压缩。较大的值会使用更多内存,但可能会提供更好的压缩。 |
| http2-initial-window-size | 65535 | 流控制窗口大小(以字节为单位),用于控制客户端如何将数据发送到服务器的速度。 |
| http2-max-concurrent-streams | 在单个连接上可以处于活跃状态的 HTTP/2 流的最大数量。 | |
| http2-max-frame-size | 16384 | 最大 HTTP/2 帧大小,以字节为单位。 |
| http2-max-header-list-size | 服务器准备接受的最大请求标头大小。 | |
| max-buffered-request-size | 16384 | 缓冲请求的最大大小(以字节为单位Request)通常不会被缓冲,最常见的情况是在为 POST 请求执行 SSL 重新协商时,并且后数据必须完全缓冲才能执行重新协商。 |
| max-connections |
并发连接的最大数量。如果在服务器配置中没有设置值,则并发连接数量的限制是 | |
| max-cookies | 200 | 将要解析的最大 Cookie 数量。这用于防止哈希漏洞。 |
| max-header-size | 1048576 | HTTP 请求标头的最大大小(以字节为单位)。 |
| max-headers | 200 | 将要解析的最大标头数。这用于防止哈希漏洞。 |
| max-parameters | 1000 | 将要解析的最大参数数。这用于防止哈希漏洞。这适用于查询参数和 POST 数据,但不适用于累积数据。因此,您可能会有 max parameters * 2 total parameters). |
| max-post-size | 10485760 | 将接受的发布的最大大小。 |
| no-request-timeout | 60000 | 在容器关闭前,连接可以闲置的时间长度(以毫秒为单位)。 |
| proxy-address-forwarding | false | 是否启用 x-forwarded-host 和类似的标头,并设置远程 IP 地址和主机名。 |
| proxy-protocol | false |
是否使用 PROXY 协议来传输连接信息。如果设置为 |
| read-timeout |
以毫秒为单位配置套接字的读取超时。如果给定的时间在读取成功读取的情况下经过一段时间,则套接字的下一个读取将抛出 | |
| receive-buffer | 接收缓冲区大小。 | |
| record-request-start-time | false | 是否记录请求开始时间,以允许记录请求时间。这会对性能有小但可衡量的性能影响。 |
| redirect-socket | 如果此侦听器支持非 SSL 请求,并且收到一个匹配需要 SSL 传输的请求,是否自动将请求重定向到此处指定的套接字绑定端口。 | |
| request-parse-timeout | 解析请求的最大时间(以毫秒为单位)。 | |
| require-host-http11 | false |
它需要所有 HTTP/1.1 请求才能具有 |
| resolve-peer-address | false | 启用主机 DNS 查找。 |
| secure | false |
如果这是 |
| send-buffer | 发送缓冲区大小。 | |
| socket-binding | 侦听器的套接字绑定 | |
| tcp-backlog | 使用指定的积压配置服务器。 | |
| tcp-keep-alive | 配置通道以独立于实施的方式发送 TCP keep-alive 消息。 | |
| url-charset | UTF-8 | URL charset。 |
| worker | default | 侦听器的 XNIO worker。 |
| write-timeout |
以毫秒为单位为套接字配置写入超时。如果给定时间没有成功写入,则套接字的下一个写入将抛出 |
https-listener 属性
| 属性 | default | 描述 |
|---|---|---|
| allow-encoded-slash | false |
如果请求附带编码的字符,如 |
| allow-equals-in-cookie-value | false | 是否允许未转义的 Cookie 值中的字符。未加引号的 Cookie 值不能包含等号字符。如果值在等号前结束。Cookie 值的其余部分将被丢弃。 |
| allow-unescaped-characters-in-url | false |
是否允许 URL 中的未转义字符。如果设置为 |
| always-set-keep-alive | true | Connection: keep-alive 标头会添加到响应中,即使规格不严格要求也是如此。 |
| buffer-pipelined-data | false | 是否缓冲管道请求。 |
| buffer-pool | default | 侦听器的缓冲池。 |
| 证书转发 | false |
是否应启用证书转发。如果启用此设置,则侦听器将从 |
| decode-url | true | 解析器将使用所选字符编码解码 URL 和查询参数,默认为 UTF-8。如果为 false,则不会解码它们。这将允许后续处理程序将它们解码为需要的任何 charset 中。 |
| disallowed-methods | ["TRACE"] | 不允许的 HTTP 方法的逗号分隔列表。 |
| enable-http2 | false | 为此监听程序启用 HTTP/2 支持。 |
| enable-spdy | false | 为此监听器启用 SPDY 支持。弃用:SPDY 已被 HTTP/2 替代。 |
| enabled | true | 如果启用了监听程序。deprecated: Enabled 属性可能会导致配置一致性强制出现问题。 |
| enabled-cipher-suites | 配置已启用的 SSL 密码。弃用:当引用 SSLContext 的位置,它应该使用支持的密码套件进行配置。 | |
| enabled-protocols | 配置 SSL 协议。弃用:当引用 SSLContext 的位置,它应该使用支持的密码套件进行配置。 | |
| http2-enable-push | true | 如果为此连接启用了服务器推送。 |
| http2-header-table-size | 4096 | 用于 HPACK 压缩的标头表的大小(以字节为单位)。这个内存量将为每个连接分配压缩。较大的值会使用更多内存,但可能会提供更好的压缩。 |
| http2-initial-window-size | 65535 | 流控制窗口大小(以字节为单位),用于控制客户端如何将数据发送到服务器的速度。 |
| http2-max-concurrent-streams | 在单个连接上可以处于活跃状态的 HTTP/2 流的最大数量。 | |
| http2-max-frame-size | 16384 | 最大 HTTP/2 帧大小,以字节为单位。 |
| http2-max-header-list-size | 服务器准备接受的最大请求标头大小。 | |
| max-buffered-request-size | 16384 | 缓冲请求的最大大小(以字节为单位Request)通常不会被缓冲,最常见的情况是在为 POST 请求执行 SSL 重新协商时,并且后数据必须完全缓冲才能执行重新协商。 |
| max-connections |
并发连接的最大数量。如果在服务器配置中没有设置值,则并发连接数量的限制是 | |
| max-cookies | 100 | 将要解析的最大 Cookie 数量。这用于防止哈希漏洞。 |
| max-header-size | 1048576 | HTTP 请求标头的最大大小(以字节为单位)。 |
| max-headers | 200 | 将要解析的最大标头数。这用于防止哈希漏洞。 |
| max-parameters | 1000 | 将要解析的最大参数数。这用于防止哈希漏洞。这适用于查询参数和 POST 数据,但不适用于累积数据。因此,您可能具有 max 参数 * 2 总计的参数。 |
| max-post-size | 10485760 | 将接受的发布的最大大小。 |
| no-request-timeout | 60000 | 在容器关闭前,连接可以闲置的时间长度(以毫秒为单位)。 |
| proxy-address-forwarding | false | 启用处理 x-forwarded-host 标头和其他 x-forwardederializer 标头,并使用此标头信息来设置远程地址。这应该只在设置这些标头的可信代理后面使用,否则远程用户才能欺骗其 IP 地址。 |
| proxy-protocol | false |
是否使用 PROXY 协议来传输连接信息。如果设置为 |
| read-timeout |
以毫秒为单位配置套接字的读取超时。如果给定的时间在读取成功读取的情况下经过一段时间,则套接字的下一个读取将抛出 | |
| receive-buffer | 接收缓冲区大小。 | |
| record-request-start-time | false | 是否记录请求开始时间,以允许记录请求时间。这会对性能有小但可衡量的性能影响。 |
| request-parse-timeout | 解析请求的最大时间(以毫秒为单位)。 | |
| require-host-http11 | false | 要求所有 HTTP/1.1 请求都具有 'Host' 标头。如果请求没有包括此标头,它将被拒绝,并带有 403。 |
| resolve-peer-address | false | 启用主机 DNS 查找。 |
| secure | false |
如果这是 |
| security-realm |
侦听器的安全域。deprecated :使用 | |
| send-buffer | 发送缓冲区大小。 | |
| socket-binding | 侦听器的套接字绑定。 | |
| ssl-context | 引用此监听器使用的 SSLContext。 | |
| ssl-session-cache-size | 活跃的 SSL 会话的最大数量。deprecated :现在可以在 Elytron 安全上下文上配置。 | |
| ssl-session-timeout | SSL 会话的超时时间(以秒为单位)。deprecated :现在可以在 Elytron 安全上下文上配置。 | |
| tcp-backlog | 使用指定的积压配置服务器。 | |
| tcp-keep-alive | 配置通道以独立于实施的方式发送 TCP keep-alive 消息。 | |
| url-charset | UTF-8 | URL charset。 |
| verify-client | NOT_REQUESTED | SSL 频道所需的 SSL 客户端身份验证模式。弃用:当 SSLContext 被引用时,应该直接为客户端验证所需的模式配置它。 |
| worker | default | 侦听器的 XNIO worker。 |
| write-timeout |
以毫秒为单位为套接字配置写入超时。如果给定时间没有成功写入,则套接字的下一个写入将抛出 |