A.23. Undertow 子系统属性
| 属性 | 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。 |
| 启用统计 | false | 是否启用统计数据。 |
缓冲缓存属性
| 属性 | default | 描述 |
|---|---|---|
| buffer-size | 1024 | 缓冲区的大小。较小的缓冲区可以更有效地使用空间。 |
| buffer-per-region | 1024 | 每个区域的缓冲数。 |
| max-regions | 10 | 区域的最大数量。这将控制可用于缓存的最大内存量。 |
Servlet 容器属性
servlet 容器组件具有以下结构:
servlet-container 属性
| 属性 | default | 描述 |
|---|---|---|
| allow-non-standard-wrappers | false | 是否可以使用不扩展标准打包程序类的请求和响应打包程序。 |
| default-buffer-cache | default | 用于缓存静态资源的缓冲缓存。 |
| default-encoding | 所有已部署的应用使用的默认编码。 | |
| default-session-timeout | 30 | 容器中部署的所有应用的默认会话超时(以分钟为单位)。 |
| directory-listing | 应该为默认 servlet 启用目录列表。 | |
| disable-caching-for-secured-pages | true | 是否将标头设置为为安全页面禁用缓存。禁用这可能会造成安全问题,因为敏感页面可能会被中间的缓存。 |
| eager-filter-initialization | false | 是否在部署上调用 init (),而不是在第一次请求时调用 init ()。 |
| ignore-flush | false | 忽略 servlet 输出流上的清除。在大多数情况下,这些性能仅因好理由而造成影响。 |
| max-sessions | 一次可以处于活跃状态的最大会话数。 | |
| active-authentication | false |
是否应使用主动身份验证。如果为 |
| session-id-length | 30 | 生成的会话 ID 的长度。会话 ID 较长的安全。 |
| stack-trace-on-error | local-only | 如果错误页面应当生成包含堆栈 trace 的错误页面。值为 all、none 和 local-only。 |
| use-listener-encoding | false | 使用监听器上定义的编码。 |
MIME-mapping 属性
| 属性 | default | 描述 |
|---|---|---|
| value | 此映射的 mime 类型。 |
welcome-file 属性
定义欢迎文件,没有选项。
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 | 使用后台线程检查 JSP 更新的时间间隔。 |
| 开发 | false | 启用开发模式,允许即时重新加载 JSP。 |
| disabled | false | 启用 JSP 容器。 |
| display-source-fragment | true | 发生运行时错误时,会尝试显示对应的 JSP 源片段。 |
| dump-smap | false | 将 SMAP 数据写入文件。 |
| error-on-use-bean-invalid-class-attribute | false | 在 useBean 中使用错误时启用错误。 |
| generate-strings-as-char-arrays | false | 生成字符串常量为 char 数组。 |
| java-encoding | UTF8 | 指定用于 Java 源的编码。 |
| keep-generated | true | 保留生成的 servlet。 |
| mapped-file | true | 映射到 JSP 源. |
| modification-test-interval | 4 | 更新的两个测试之间的最短时间(以秒为单位)。 |
| optimize-scriptlets | false | 如果 JSP scriptlets 应经过优化,以删除字符串串联。 |
| recompile-on-fail | false | 在每个请求上重试失败的 JSP 编译。 |
| 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-driven-by 中启用 JSP 引擎。 |
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 的最长期限。 | |
| name | cookie 的名称。 | |
| secure | Cookie 是否安全。 |
Websocket 属性
在使用管理 CLI 管理 websockets 元素时,它在 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 部署的缓冲池。 |
| dispatch-to-worker | true |
回调是否应分配给 worker 线程。如果是 |
| worker | default | 用于 websocket 部署的 worker。 |
过滤属性
custom-filter Filters
| 属性 | default | 描述 |
|---|---|---|
| class-name | HttpHandler 的类名称。 | |
| module | 从其中加载类的模块名称。 | |
| parameters | 过滤参数. |
错误页面过滤器
错误页面
| 属性 | default | 描述 |
|---|---|---|
| code | 错误页面代码。 | |
| path | 错误页面路径。 |
expression-filter Filters
从 Undertow 表达式语言解析的过滤器。
| 属性 | default | 描述 |
|---|---|---|
| expression | 定义过滤器的表达式。 | |
| module | 用于加载过滤器定义的模块。 |
gzip Filters
定义 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 | 从表中删除损坏的节点前必须经过的时间。 |
| cached-connections-per-thread | 5 | 无限期保留的连接数量。 |
| connection-idle-timeout | 60 |
连接在关闭前可以闲置的时间。当池大小缩减到配置的最小大小后,连接不会超时,这由 |
| connections-per-thread | 10 | 每个 IO 线程将维护至后端服务器的连接数量。 |
| enable-http2 | false | 负载均衡器是否应该尝试将后端连接升级到 HTTP/2。如果不支持 HTTP/2,则 HTTP 或 HTTPS 将正常使用。 |
| health-check-interval | 10000 | 健康检查对后端节点进行 ping 的频率。 |
| management-access-predicate |
应用到传入请求的 predicate,以确定它们是否可以执行 mod 集群管理命令。通过将管理限制为源自 | |
| management-socket-binding | mod_cluster 管理端口的套接字绑定。应定义使用 mod_cluster 两个 HTTP 侦听器时,一个用于处理请求,以及一个绑定到内部网络以处理 mod cluster 命令。此套接字绑定应当与内部监听程序对应,不应公开访问。 | |
| max-request-time | -1 | 对后端节点请求在被终止前可以花费的最长时间。 |
| request-queue-size | 10 | 如果连接池已满,可以在请求被拒绝前排队的请求数 503。 |
| security-key | 用于 mod_cluster 组的安全密钥。所有成员都必须使用相同的安全密钥。 | |
| security-realm | 提供 SSL 配置的安全域。 | |
| 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 Filters
| 属性 | default | 描述 |
|---|---|---|
| max-concurrent-requests | 并发请求数上限。 | |
| queue-size | 在被拒绝前对队列的请求数。 |
response-header Filters
响应标头过滤器允许您添加自定义标头。
| 属性 | default | 描述 |
|---|---|---|
| header-name | 标头名称。 | |
| header-value | 标头值。 |
重写过滤器
| 属性 | default | 描述 |
|---|---|---|
| 重定向 | false | 重定向是否将进行,而不是重写。 |
| target | 定义目标的表达式。如果您要重定向到一个常态目标,请在值两处放置单引号。 |
处理程序属性
文件属性
| 属性 | default | 描述 |
|---|---|---|
| cache-buffer-size | 1024 | 缓冲区的大小。 |
| cache-buffers | 1024 | 缓冲区数量。 |
| 区分大小写 | true |
是否使用区分大小写的文件处理。请注意,仅当底层文件系统区分大小写时,将其设置为 |
| directory-listing | false | 是否启用目录列表。 |
| follow-symlink | false | 是否启用以下符号链接: |
| path | 文件处理程序将服务于资源的文件系统的路径。 | |
| safe-symlink-paths | 安全地作为符号链接的目标的路径。 |
将 WebDAV 用于静态资源
以前的 JBoss EAP 版本允许使用带有 Web 子系统的 WebDAV,方法 WebdavServlet 托管静态资源,并启用额外的 HTTP 方法来访问和操作这些文件。在 JBoss EAP 7 中,undertow 子系统提供了使用文件处理程序提供静态文件的机制,但 undertow 子系统不支持 WebDAV。如果要将 WebDAV 与 JBoss EAP 7 搭配使用,您可以编写自定义 WebDAV servlet。
reverse-proxy 属性
reverse-proxy 处理程序组件具有以下结构:
| 属性 | default | 描述 |
|---|---|---|
| cached-connections-per-thread | 5 | 无限期保留的连接数量。 |
| connection-idle-timeout | 60 | 连接在关闭前可以闲置的时间。当池大小缩减到配置的最小大小(由 cached-connections-per-thread 配置)后,连接不会超时。 |
| connections-per-thread | 10 | 每个 IO 线程将维护至后端服务器的连接数量。 |
| max-request-time | -1 | 代理请求在被终止前可以处于活跃状态的最长时间。默认值为没有限制。 |
| problem-server-retry | 30 | 尝试重新连接关闭的服务器前等待的时间(以秒为单位)。 |
| request-queue-size | 10 | 如果连接池已满,可以在请求被拒绝前排队的请求数 503。 |
| session-cookie-names | JSESSIONID | 会话 Cookie 名称的逗号分隔列表。这通常只是 JSESSIONID。 |
| 属性 | default | 描述 |
|---|---|---|
| instance-id | 用于启用粘性会话的实例 ID 或 JVM 路由。 | |
| outbound-socket-binding | 此主机的出站套接字绑定。 | |
| path | / | 如果主机使用非 root 资源,则可选路径。 |
| scheme | http | 使用的方案类型。 |
| security-realm | 为与主机的连接提供 SSL 配置的安全域。 |
服务器属性
服务器组件具有以下结构:
服务器属性
| 属性 | default | 描述 |
|---|---|---|
| default-host | default-host | 服务器的默认虚拟主机。 |
| servlet-container | default | 服务器的默认 servlet 容器。 |
http-listener 属性
| 属性 | default | 描述 |
|---|---|---|
| allow-encoded-slash | false |
如果请求附带编码的字符,例如 |
| allow-equals-in-cookie-value | false | 是否允许不加引号的 Cookie 值中的非转义等于字符。不加引号的 Cookie 值不能包含等号。如果显示该值在等号之前结束。Cookie 值的其余部分将被丢弃。 |
| always-set-keep-alive | true | 是否使用 Connection: keep-alive 标头将添加到响应中,即使规格严格要求也是如此。 |
| buffer-pipelined-data | false | 是否缓冲管道请求。 |
| buffer-pool | default | 侦听器的缓冲区池。 |
| 证书转发 | false |
是否应该启用证书转发。如果启用此项,则监听器将从 |
| decode-url | true | 解析器是否使用所选字符编码(UTF-8)解码 URL 和查询参数。如果这是 false,则不会解码。这将允许后续处理程序将其解码为需要的任何 charset。 |
| disallowed-methods | ["TRACE"] | 以逗号分隔的 HTTP 方法列表。 |
| enable-http2 | false | 是否为这个监听程序启用 HTTP/2 支持。 |
| enabled | true | 是否启用监听程序。 |
| http2-enable-push | true | 是否为这个连接启用服务器推送。 |
| http2-header-table-size | 用于 HPACK 压缩的标头表的大小,以字节为单位。此内存量将为每个连接分配压缩。较大的值使用更多内存,但可能会提供更好的压缩。 | |
| http2-initial-window-size | 流控制窗口大小,用来控制客户端向服务器发送数据的速度。 | |
| http2-max-concurrent-streams | 单个连接上任何时间可以处于活跃状态的最大 HTTP/2 流数。 | |
| http2-max-frame-size | 最大 HTTP/2 帧大小。 | |
| http2-max-header-list-size | 服务器准备接受的最大请求标头大小。 | |
| max-buffered-request-size | 16384 | 缓冲的请求的最大大小(在 bytesRequests 中通常不会被缓冲),最常见的情况是在为 POST 请求执行 SSL 重新协商时,必须完全缓冲后数据才能执行重新协商。 |
| max-connections | 并发连接的最大数量。 | |
| max-cookies | 200 | 将要解析的最大 Cookie 数。这用于防止哈希漏洞。 |
| max-header-size | 1048576 | HTTP 请求标头的最大大小(以字节为单位)。 |
| max-headers | 200 | 将要解析的最大标头数。这用于防止哈希漏洞。 |
| max-parameters | 1000 | 将解析的最大参数数。这用于防止哈希漏洞。这适用于查询参数和 POST 数据,但不适用于累积数据。例如,您可以有最大参数 * 2 个总计参数。 |
| max-post-size | 10485760 | 将接受的发布的最大值。 |
| no-request-timeout | 60000 | 在容器关闭前连接可以闲置的时间长度(以毫秒为单位)。 |
| proxy-address-forwarding | false | 是否启用 x-forwarded-host 和类似的标头并设置远程 IP 地址和主机名。 |
| read-timeout | 为套接字配置读取超时,以毫秒为单位。如果给定时间没有成功读取,则套接字的下一个读取将抛出 {@link ReadTimeoutException}。 | |
| receive-buffer | 接收缓冲区大小。 | |
| record-request-start-time | false | 是否记录请求启动时间,以允许记录请求时间。这很小,但可衡量的性能影响。 |
| redirect-socket | 如果此侦听器支持非 SSL 请求,并且收到匹配需要 SSL 传输的请求,是否自动将请求重定向到此处指定的套接字绑定端口。 | |
| request-parse-timeout | 解析请求可花费的最大时间(毫秒)。 | |
| resolve-peer-address | false | 启用主机 DNS 查找。 |
| send-buffer | 发送缓冲区大小。 | |
| socket-binding | 侦听器的套接字绑定 | |
| tcp-backlog | 使用指定的 backlog 配置服务器。 | |
| tcp-keep-alive | 配置网络,以独立实施的方式发送 TCP 保持消息。 | |
| url-charset | UTF-8 | URL charset。 |
| worker | default | 侦听器的 XNIO 工作程序。 |
| write-timeout | 为套接字配置写入超时,以毫秒为单位。如果给定时间没有成功写入,则套接字的下一个写入将抛出 {@link WriteTimeoutException}。 |
以下属性是只读的,仅在为 undertow 子系统启用统计数据时才可用:
| 属性 | default | 描述 |
|---|---|---|
| bytes-received | 此监听器接收的字节数。 | |
| bytes-sent | 在此侦听器上发送的字节数。 | |
| error-count | 此监听器发送的 500 个响应数量。 | |
| max-processing-time | 此监听器上请求所花费的最大处理时间。 | |
| processing-time | 此监听器分发的所有请求的总处理时间。 | |
| request-count | 此侦听器服务的请求数。 |
https-listener 属性
| 属性 | default | 描述 |
|---|---|---|
| allow-encoded-slash | false |
如果请求附带编码的字符,例如 |
| allow-equals-in-cookie-value | false | 是否允许不加引号的 Cookie 值中的非转义等于字符。不加引号的 Cookie 值不能包含等号。如果显示该值在等号之前结束。Cookie 值的其余部分将被丢弃。 |
| always-set-keep-alive | true | 是否使用 Connection: keep-alive 标头将添加到响应中,即使规格严格要求也是如此。 |
| buffer-pipelined-data | false | 是否缓冲管道请求。 |
| buffer-pool | default | 侦听器的缓冲区池。 |
| decode-url | true | 解析器是否使用所选字符编码(UTF-8)解码 URL 和查询参数。如果这是 false,则不会解码。这将允许后续处理程序将其解码为需要的任何 charset。 |
| disallowed-methods | ["TRACE"] | 以逗号分隔的 HTTP 方法列表。 |
| enable-http2 | false | 为此监听程序启用 HTTP/2 支持。 |
| enable-spdy | false | 为此监听程序启用 SPDY 支持。 |
| enabled | true | 如果启用了监听程序。 |
| enabled-cipher-suites | 配置已启用的 SSL 密码。 | |
| enabled-protocols | 配置 SSL 协议。 | |
| http2-enable-push | true | 如果为这个连接启用了 server push。 |
| http2-header-table-size | 用于 HPACK 压缩的标头表的大小,以字节为单位。此内存量将为每个连接分配压缩。较大的值使用更多内存,但可能会提供更好的压缩。 | |
| http2-initial-window-size | 流控制窗口大小,用来控制客户端向服务器发送数据的速度。 | |
| http2-max-concurrent-streams | 单个连接上任何时间可以处于活跃状态的最大 HTTP/2 流数。 | |
| http2-max-frame-size | 最大 HTTP/2 帧大小。 | |
| http2-max-header-list-size | 服务器准备接受的最大请求标头大小。 | |
| max-buffered-request-size | 16384 | 缓冲的请求的最大大小(在 bytesRequests 中通常不会被缓冲),最常见的情况是在为 POST 请求执行 SSL 重新协商时,必须完全缓冲后数据才能执行重新协商。 |
| max-connections | 并发连接的最大数量。 | |
| max-cookies | 100 | 将要解析的最大 Cookie 数。这用于防止哈希漏洞。 |
| max-header-size | 1048576 | HTTP 请求标头的最大大小(以字节为单位)。 |
| max-headers | 200 | 将要解析的最大标头数。这用于防止哈希漏洞。 |
| max-parameters | 1000 | 将解析的最大参数数。这用于防止哈希漏洞。这适用于查询参数和 POST 数据,但不适用于累积数据。例如,您可以有 max parameters * 2 total 参数。 |
| max-post-size | 10485760 | 将接受的发布的最大值。 |
| no-request-timeout | 60000 | 在容器关闭前连接可以闲置的时间长度(以毫秒为单位)。 |
| read-timeout | 为套接字配置读取超时,以毫秒为单位。如果给定时间没有成功读取,则套接字的下一个读取将抛出 {@link ReadTimeoutException}。 | |
| receive-buffer | 接收缓冲区大小。 | |
| record-request-start-time | false | 是否记录请求启动时间,以允许记录请求时间。这很小,但可衡量的性能影响。 |
| request-parse-timeout | 解析请求可花费的最大时间(毫秒)。 | |
| resolve-peer-address | false | 启用主机 DNS 查找。 |
| security-realm | 侦听器的安全域。 | |
| send-buffer | 发送缓冲区大小。 | |
| socket-binding | 侦听器的套接字绑定。 | |
| ssl-session-cache-size | 活跃的 SSL 会话的最大数量。 | |
| ssl-session-timeout | SSL 会话的超时时间(以秒为单位)。 | |
| tcp-backlog | 使用指定的 backlog 配置服务器。 | |
| tcp-keep-alive | 配置网络,以独立实施的方式发送 TCP 保持消息。 | |
| url-charset | UTF-8 | URL charset。 |
| verify-client | NOT_REQUESTED | SSL 频道所需的 SSL 客户端身份验证模式。 |
| worker | default | 侦听器的 XNIO 工作程序。 |
| write-timeout | 为套接字配置写入超时,以毫秒为单位。如果给定时间没有成功写入,则套接字的下一个写入将抛出 {@link WriteTimeoutException}。 |
以下属性是只读的,仅在为 undertow 子系统启用统计数据时才可用:
| 属性 | default | 描述 |
|---|---|---|
| bytes-received | 此监听器接收的字节数。 | |
| bytes-sent | 在此侦听器上发送的字节数。 | |
| error-count | 此监听器发送的 500 个响应数量。 | |
| max-processing-time | 此监听器上请求所花费的最大处理时间。 | |
| processing-time | 此监听器分发的所有请求的总处理时间。 | |
| request-count | 此侦听器服务的请求数。 |
AJP-listener 属性
| 属性 | default | 描述 |
|---|---|---|
| allow-encoded-slash | false |
如果请求附带编码的字符,例如 |
| allow-equals-in-cookie-value | false | 是否允许不加引号的 Cookie 值中的非转义等于字符。不加引号的 Cookie 值不能包含等号。如果显示该值在等号之前结束。Cookie 值的其余部分将被丢弃。 |
| always-set-keep-alive | true | 是否使用 Connection: keep-alive 标头将添加到响应中,即使规格严格要求也是如此。 |
| buffer-pipelined-data | false | 是否缓冲管道请求。 |
| buffer-pool | default | AJP 侦听器的缓冲区池。 |
| decode-url | true | 如果为 true,则解析器将使用所选字符编码(UTF-8)解码 URL 和查询参数。如果这是 false,则不会解码。这将允许后续处理程序将其解码为需要的任何 charset。 |
| disallowed-methods | ["TRACE"] | 以逗号分隔的 HTTP 方法列表。 |
| enabled | true | 如果启用了监听程序。 |
| max-ajp-packet-size | 最多支持 AJP 数据包的大小。如果进行了修改,它会在负载均衡器和后端服务器上增加。 | |
| max-buffered-request-size | 16384 | 缓冲的请求的最大大小(在 bytesRequests 中通常不会被缓冲),最常见的情况是在为 POST 请求执行 SSL 重新协商时,必须完全缓冲后数据才能执行重新协商。 |
| max-connections | 并发连接的最大数量。 | |
| max-cookies | 200 | 将要解析的最大 Cookie 数。这用于防止哈希漏洞。 |
| max-header-size | 1048576 | HTTP 请求标头的最大大小(以字节为单位)。 |
| max-headers | 200 | 将要解析的最大标头数。这用于防止哈希漏洞。 |
| max-parameters | 100 | 将解析的最大参数数。这用于防止哈希漏洞。这适用于查询参数和 POST 数据,但不适用于累积数据。例如,您可以有 max parameters * 2 total 参数。 |
| max-post-size | 10485760 | 将接受的发布的最大大小 |
| no-request-timeout | 60000 | 在容器关闭前连接可以闲置的时间长度(以毫秒为单位)。 |
| read-timeout | 为套接字配置读取超时,以毫秒为单位。如果给定时间没有成功读取,则套接字的下一个读取将抛出 {@link ReadTimeoutException}。 | |
| receive-buffer | 接收缓冲区大小。 | |
| record-request-start-time | false | 是否记录请求启动时间,以允许记录请求时间。这很小,但可衡量的性能影响。 |
| redirect-socket | 如果此侦听器支持非 SSL 请求,并且收到匹配需要 SSL 传输的请求,是否自动将请求重定向到此处指定的套接字绑定端口。 | |
| request-parse-timeout | 解析请求可花费的最大时间(毫秒)。 | |
| resolve-peer-address | false | 启用主机 DNS 查找。 |
| scheme | 侦听器方案可以是 HTTP 或 HTTPS。默认情况下,方案将从传入的 AJP 请求中获取。 | |
| send-buffer | 发送缓冲区大小。 | |
| socket-binding | AJP 侦听器的套接字绑定. | |
| tcp-backlog | 使用指定的 backlog 配置服务器。 | |
| tcp-keep-alive | 配置网络,以独立实施的方式发送 TCP 保持消息。 | |
| url-charset | UTF-8 | URL charset。 |
| worker | default | 侦听器的 XNIO 工作程序。 |
| write-timeout | 为套接字配置写入超时,以毫秒为单位。如果给定时间没有成功写入,则套接字的下一个写入将抛出 {@link WriteTimeoutException}。 |
以下属性是只读的,仅在为 undertow 子系统启用统计数据时才可用:
| 属性 | default | 描述 |
|---|---|---|
| bytes-received | 此监听器接收的字节数。 | |
| bytes-sent | 在此侦听器上发送的字节数。 | |
| error-count | 此监听器发送的 500 个响应数量。 | |
| max-processing-time | 此监听器上请求所花费的最大处理时间。 | |
| processing-time | 此监听器分发的所有请求的总处理时间。 | |
| request-count | 此侦听器服务的请求数。 |
主机属性
| 属性 | default | 描述 |
|---|---|---|
| alias | 以逗号分隔的主机别名列表。 | |
| default-response-code | 404 | 如果设置,在 server 上不存在请求的上下文时,这将发回响应代码。 |
| default-web-module | ROOT.war | 默认 Web 模块. |
| disable-console-redirect | false | 如果设置为 true,则会为此主机启用 /console redirect wont。 |
filter-ref 属性
| 属性 | default | 描述 |
|---|---|---|
| predicate | predicates 提供了根据交换做出 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 | 访问日志模式。 |
| predicate | 决定是否应记录请求的 predicate。 | |
| prefix | access_log。 | 日志文件名称的前缀。 |
| relative-to | 路径相对的目录。 | |
| rotate | true | 是否每天轮转访问日志。 |
| suffix | log | 日志文件名称的后缀。 |
| use-server-log | false | 日志是否应写入服务器日志,而不是单独的文件。 |
| worker | default | 用于日志记录的 worker 名称。 |
单点登录属性
在使用管理 CLI 管理 single-sign-on 元素时,它在 host 元素中的 settings 下可用。例如:
/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 的应用视角不同,但在 JBoss EAP 7 中,身份验证信息的缓存和分发方式不同。对于 JBoss EAP 7,在运行 HA 配置文件时,默认情况下,每个主机都有自己的 Infinispan 缓存,该缓存将存储相关的会话和 SSO Cookie 信息。此缓存基于 Web 缓存容器的默认缓存。JBoss EAP 还将处理在所有主机的单个缓存之间传播信息。
| 属性 | default | 描述 |
|---|---|---|
| cookie-name | JSESSIONIDSSO | cookie 的名称。 |
| domain | 要使用的 Cookie 域。 | |
| http-only | false | 设置 Cookie httpOnly 属性。 |
| path | / | Cookie 路径。 |
| secure | false | 设置 Cookie 安全属性。 |
位置属性
| 属性 | default | 描述 |
|---|---|---|
| handler | 此位置的默认处理程序。 |