Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

第 17 章 配置 Web 服务器(Undertow)

17.1. Undertow 子系统概述

重要

在 JBoss EAP 7 中,undertow 子系统从以前的 JBoss EAP 版本获取 web 子系统的位置。

undertow 子系统允许您配置 Web 服务器和 servlet 容器设置。它实现了 Java Servlet 3.1 规范 以及 websocket,并支持 HTTP 升级,并在 servlet 部署中使用高性能非阻塞处理程序。undertow 子系统还能够充当支持 mod_cluster 的高性能反向代理。

undertow 子系统中,配置五个主要组件:

注意

虽然 JBoss EAP 提供了为这些组件更新配置的功能,但默认配置适合大多数用例,并提供合理的性能设置。

默认 Undertow 子系统配置

<subsystem xmlns="urn:jboss:domain:undertow:3.1">
  <buffer-cache name="default"/>
  <server name="default-server">
      <http-listener name="default" socket-binding="http" redirect-socket="https"/>
      <host name="default-host" alias="localhost">
          <location name="/" handler="welcome-content"/>
          <filter-ref name="server-header"/>
          <filter-ref name="x-powered-by-header"/>
      </host>
  </server>
  <servlet-container name="default">
      <jsp-config/>
      <websockets/>
  </servlet-container>
  <handlers>
      <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
  </handlers>
  <filters>
      <response-header name="server-header" header-name="Server" header-value="JBoss-EAP/7"/>
      <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
  </filters>
</subsystem>
重要

undertow 子系统还依赖于 io 子系统来提供 XNIO 工作程序和缓冲区池。io 子系统是单独配置的,并提供默认配置,该配置在大多数情况下应提供最佳性能。

注意

与之前的 JBoss EAP 版本中的 Web 子系统相比,JBoss EAP 7 中的 undertow 子系统具有不同的 HTTP 方法默认行为