安装指南
安装和配置红帽 JBoss Web 服务器 5.6
摘要
对红帽文档提供反馈
我们感谢您对我们的技术内容的反馈,并且鼓励您告诉我们您的想法。如果您想添加注释、提供见解、更正错误甚至提问问题,您可以在文档中直接这样做。
您必须有一个红帽帐户并登录到客户门户。
要从客户门户提交文档反馈,请执行以下操作:
- 选择 多页 HTML 格式。
- 单击文档右上角的" 反馈 "按钮。
- 突出显示您要提供反馈的文本部分。
- 单击突出显示的文本旁边的 添加反馈 对话框。
- 在页面右侧的文本框中输入您的反馈,然后单击 Submit。
每次提交反馈时,我们会自动创建跟踪问题。点击 Submit 并开始监视问题或添加更多注释后,打开显示的链接。
感谢您的反馈。
让开源更具包容性
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 Red Hat JBoss Web Server 安装简介
红帽 JBoss Web 服务器是用于托管 Java Web 应用程序的完整集成和认证组件集合。Red Hat JBoss Web Server 提供 Apache Tomcat Servlet 容器和 Tomcat 原生库完全支持的实现。
如果您需要集群或会话复制支持 Java 应用程序,请使用 Red Hat JBoss Enterprise Application Platform(JBoss EAP)。
1.1. JBoss Web 服务器组件
JBoss Web 服务器包括组件,如 Apache Tomcat Servlet 容器、Tomcat 原生库、Tomcat vault、mod_cluster
库、Apache Portable Runtime(APR)和 OpenSSL。
- Apache Tomcat
- Apache Tomcat 是基于 Java Servlet 规范的 servlet 容器。JBoss Web 服务器包含 Apache Tomcat 9。
- Tomcat 原生库
- Tomcat 原生库提高了 Tomcat 的可扩展性、性能和与原生服务器技术的集成。
- Tomcat vault
- Tomcat vault 是 JBoss Web 服务器的扩展,用于安全地存储 JBoss Web 服务器使用的密码和其他敏感信息。
- Mod_cluster
-
mod_cluster
库启用 Apache Tomcat 和 Apache HTTP 服务器的mod_proxy_cluster
模块之间的通信。mod_cluster
库允许您将 Apache HTTP 服务器用作 JBoss Web 服务器的负载均衡器。有关配置mod_cluster
或配置其他负载均衡器(如mod_jk
和mod_proxy
)的详情,请参考 HTTP Connectors 和 Load Balancing Guide。 - Apache Portable Runtime
- Apache Portable Runtime(APR)提供卓越的可扩展性、性能和改进与原生服务器技术的集成。APR 是一个高度可移植的库,是 Apache HTTP 服务器 2.x 的核心。它可以访问:发送文件、epoll 和 OpenSSL 等高级 IO 功能;例如,操作系统级别的功能,如随机数字生成和系统状态;以及处理共享内存、NT 管道和 UNIX 套接字等原生进程。
- OpenSSL
- openssl 是实现安全套接字层(SSL)和传输层安全(TLS)协议的软件库。openssl 包括基本加密库。
有关 Red Hat JBoss Web Server 支持的组件的完整列表,请查看 JBoss Web Server 组件详情页。
1.2. 红帽提供的 Apache Tomcat 发行版本之间的区别
Red Hat Enterprise Linux(RHEL)7 和 Red Hat JBoss Web Server 提供 Apache Tomcat 的独立发行版本。
RHEL 8 平台订阅不提供 Apache Tomcat 的发行版本。在 RHEL 8 中,Apache Tomcat 仅作为中间件运行时订阅的一部分提供。
请考虑以下与 RHEL 7 和 JBoss Web 服务器提供的 Apache Tomcat 发行版之间的以下区别:
- RHEL 7 提供 Tomcat 7。JBoss Web 服务器版本 3.1 提供 Tomcat 7 和 Tomcat 8。JBoss Web 服务器版本 5.x 提供 Tomcat 9。
- 您可以从存档文件或 RPM 软件包安装 JBoss Web 服务器。您只能从 RPM 软件包安装 Apache Tomcat 的 RHEL 7 发行版本。
Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
1.3. JBoss Web 服务器操作系统和配置
Red Hat JBoss Web Server 支持 Red Hat Enterprise Linux 和 Microsoft Windows 操作系统的不同版本。
1.4. JBoss Web 服务器安装方法
您可以使用每个平台可用的归档安装文件,在支持的 Red Hat Enterprise Linux 和 Microsoft Windows 系统上安装 Red Hat JBoss Web Server。您还可以使用 RPM 软件包在支持的 Red Hat Enterprise Linux 系统上安装 JBoss Web 服务器。
以下组件包含在存档安装文件中:这些组件是 JBoss Web 服务器安装的核心部分。
jws-5.6.0-application-server.zip
- Apache Tomcat 9
-
mod_cluster
- Tomcat vault
jws-5.6.0-application-server-<platform>-<architecture>.zip
- 特定于平台的实用程序
1.5. JBoss Web Server 组件文档捆绑包
JBoss Web 服务器包括一个附加的文档包,其中包含每个组件的原始供应商文档。您可以从红帽客户门户网站下载此文档捆绑包 jws-docs-5.6.0.zip
。
文档捆绑包包含以下组件的其他文档:
- Apache Tomcat
- Tomcat 原生库
- Tomcat vault
第 2 章 从归档文件在 Red Hat Enterprise Linux 上安装 JBoss Web Server
您可以从归档文件或 RPM 软件包在 Red Hat Enterprise Linux 上安装 JBoss Web Server。如果要从存档文件安装 JBoss Web 服务器,您可以从红帽客户门户网站下载并提取 JBoss Web 服务器归档文件。//http://access.redhat.com
从存档文件安装 JBoss Web 服务器时,您可以以不同的方式管理产品。例如,您可以在系统启动时使用系统守护进程,或者从命令行管理 JBoss Web 服务器。
2.1. 先决条件
- 您已使用 YUM 软件包管理器或从压缩的存档安装了一个受支持的 Java Development Kit(JDK)。
- 您的系统符合 Red Hat Enterprise Linux 软件包要求。
2.1.1. 使用 YUM 软件包管理器安装 JDK
您可以使用 YUM 软件包管理器安装 Java Development Kit(JDK)。有关支持的 JDK 的完整列表,请参阅支持的操作系统和配置。
步骤
将您的 Red Hat Enterprise Linux 系统订阅到适当的频道:
OpenJDK:
- rhel-7-server-rpms
- rhel-8-server-rpms
IBM:
- rhel-7-server-supplementary-rpms
- rhel-8-server-supplementary-rpms
重要Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
以 root 用户身份执行安装 1.8 JDK 的命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install java-1.8.0-<VENDOR>-devel
# yum install java-1.8.0-<VENDOR>-devel
将
<VENDOR>
替换为ibm
或openjdk
以 root 用户身份运行以下命令以确保使用正确的 JDK:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow alternatives --config java
# alternatives --config java
Copy to Clipboard Copied! Toggle word wrap Toggle overflow alternatives --config javac
# alternatives --config javac
这些命令返回可用 JDK 版本列表,其选择版本标有加号(
+
)符号。如果所选 JDK 不是所需的 JDK,请根据 shell 提示符中的指示更改到所需的 JDK。重要所有使用
java 和 java
c
命令的软件都使用替代方案
所设置的 JDK。更改 Java 替代方案可能会影响其他软件的运行。
2.1.2. 从压缩的归档安装 JDK
您可以从压缩的存档(如 .zip
或 .tar
文件)安装 Java Development Kit(JDK)。有关支持的 JDK 的完整列表,请参阅支持的操作系统和配置。
步骤
-
如果 JDK 从供应商的网站(Oracle 或 OpenJDK)下载,请使用供应商提供的安装说明并设置
JAVA_HOME
环境变量。 如果 JDK 是从压缩的归档中安装的,请为 Tomcat 设置
JAVA_HOME
环境变量:-
在 Tomcat 的
bin
目录中(JWS_HOME/tomcat/bin
),创建名为setenv.sh
的文件。 在
setenv.sh
文件中,输入JAVA_HOME
路径定义。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat JWS_HOME/tomcat/bin/setenv.sh export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
$ cat JWS_HOME/tomcat/bin/setenv.sh export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
-
在 Tomcat 的
2.1.3. Red Hat Enterprise Linux 软件包要求
在 Red Hat Enterprise Linux 上安装 JBoss Web Server 之前,您必须确保您的系统符合以下软件包要求。
Red Hat Enterprise Linux 7 和 Red Hat Enterprise Linux 8 的软件包要求不同。
如果要在 Red Hat Enterprise Linux 8 中使用 OpenSSL,您必须安装与操作系统提供的
openssl
软件包。要安装
openssl
软件包,以 root 用户身份输入以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install openssl
# yum install openssl
如果要在 Red Hat Enterprise Linux 8 中使用 Apache Portable Runtime(APR),您必须安装由操作系统提供的
apr
软件包。要安装
apr
软件包,以 root 用户身份运行以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install apr
# yum install apr
在安装
tomcat-native
软件包前,您必须先删除tomcatjss
软件包。tomcatjss
软件包使用底层网络安全服务(NSS)安全模型,而不是 OpenSSL 安全模型。要删除
tomcatjss
软件包,以 root 用户身份运行以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum remove tomcatjss
# yum remove tomcatjss
-
在 Red Hat Enterprise Linux 7 中,JBoss Web 服务器使用
openssl
和apr
软件包,它们由红帽 JBoss Core Services 提供。 -
在 Red Hat Enterprise Linux 8 中,JBoss Web 服务器使用由操作系统提供的
openssl
和apr
软件包。 -
从 Red Hat Enterprise Linux 8 上的存档文件安装 JBoss Web Server 时,您必须安装
openssl
和apr
软件包(由操作系统提供的)。
2.2. 在 RHEL 上下载和提取 JBoss Web 服务器存档文件
您可以从红帽客户门户网站下载 JBoss Web 服务器归档文件。http://access.redhat.com
先决条件
- 已使用 YUM 软件包管理器 或从压缩的存档 安装受支持的 Java Development Kit(JDK)。
- 您的系统符合 Red Hat Enterprise Linux 软件包要求。
步骤
- 打开浏览器并登录 红帽客户门户。
- 点 Downloads。
- 单击产品 下载列表中的 红帽 JBoss Web 服务器。
- 从 Version 下拉菜单中选择正确的 JBoss Web Server 版本。
对以下每个文件点 Download,确保为您的系统选择正确的平台和架构:
-
红帽 JBoss Web 服务器 5.6 应用服务器(
jws-5.6.0-application-server.zip
)。 -
用于 RHEL 的 Red Hat JBoss Web Server 5.6 原生组件(
jws-5.6.0-application-server-<platform>-<architecture>.zip
)。
-
红帽 JBoss Web 服务器 5.6 应用服务器(
将下载的存档文件解压缩到您的安装目录。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow unzip jws-5.5.0-application-server.zip -d /opt/ unzip -o jws-5.5.0-application-server-<platform>-<architecture>.zip -d /opt/
# unzip jws-5.5.0-application-server.zip -d /opt/ # unzip -o jws-5.5.0-application-server-<platform>-<architecture>.zip -d /opt/
当您提取存档时,会创建 JBoss Web 服务器的最顶层目录。本文档将 JBoss Web 服务器的顶级目录称为 JWS_HOME
。
2.3. 从存档文件安装时使用 systemd
管理 JBoss Web 服务器
从 Red Hat Enterprise Linux 上的存档文件安装 JBoss Web 服务器时,您可以使用系统守护进程来执行管理任务。将 JBoss Web 服务器与系统守护进程一起使用提供了一种在系统启动时启动 JBoss Web 服务器服务的方法。系统守护进程还提供启动、停止和状态检查功能。
Red Hat Enterprise Linux 8 和 Red Hat Enterprise Linux 7 的默认系统守护进程是 systemd
。
Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
先决条件
步骤
要确定哪个系统守护进程正在运行,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ps -p 1 -o comm=
$ ps -p 1 -o comm=
如果
systemd
正在运行,则会显示以下输出:Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemd
systemd
要为
systemd
设置 JBoss Web 服务器,请以 root 用户身份运行.postinstall.systemd
脚本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd JWS_HOME/tomcat sh .postinstall.systemd
# cd JWS_HOME/tomcat # sh .postinstall.systemd
要使用
systemd
控制 JBoss Web 服务器,您可以以 root 用户身份执行以下步骤:使用
systemd
在系统引导时启用 JBoss Web 服务器服务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl enable jws5-tomcat.service
# systemctl enable jws5-tomcat.service
使用
systemd
启动 JBoss Web 服务器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start jws5-tomcat.service
# systemctl start jws5-tomcat.service
注意SECURITY_MANAGER
变量现已弃用,用于基于存档文件安装的 JBoss Web 服务器配置。请考虑以下弃用注释:Copy to Clipboard Copied! Toggle word wrap Toggle overflow SECURITY_MANAGER has been deprecated. To run tomcat under the Java Security Manager use:
# SECURITY_MANAGER has been deprecated. To run tomcat under the Java Security Manager use: JAVA_OPTS="-Djava.security.manager -Djava.security.policy==\"$CATALINA_BASE/conf/"catalina.policy\"""
使用
systemd
停止 JBoss Web 服务器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl stop jws5-tomcat.service
# systemctl stop jws5-tomcat.service
使用
systemd
验证 JBoss Web 服务器的状态:Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl status jws5-tomcat.service
# systemctl status jws5-tomcat.service
注意任何用户都可以运行
status
操作。
其他资源
-
有关在 RHEL 7 中使用
systemd
的详情,请查看 RHEL 7 系统管理员指南:管理系统服务。 -
有关在 RHEL 8 中使用
systemd
的详情,请查看 RHEL 8 配置基本系统设置:使用 systemctl 管理系统服务。
2.4. 用于从命令行管理归档安装的 JBoss Web 服务器配置
当您从 Red Hat Enterprise Linux 上的存档文件安装 JBoss Web 服务器时,您可以直接从命令行启动和停止 JBoss Web 服务器。在命令行中运行 JBoss Web 服务器前,您必须执行以下一系列配置任务:
-
为 Tomcat 设置
JAVA_HOME
环境变量。 -
创建
tomcat
用户及其父组。 -
授予
tomcat
用户对 JBoss Web 服务器的访问权限。
当您使用 系统守护进程而不是从命令行管理 JBoss Web 服务器时,.postinstall.systemd
脚本会自动执行这些配置步骤。
2.4.1. 为 Apache Tomcat 设置 JAVA_HOME 环境变量
首次从命令行运行 JBoss Web 服务器之前,您必须为 Apache Tomcat 设置 JAVA_HOME
环境变量。
先决条件
步骤
-
在命令行中进入
JWS_HOME/tomcat/bin
目录。 -
创建名为
setenv.sh
的文件。 在
setenv.sh
文件中,输入JAVA_HOME
路径定义。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
2.4.2. 创建 Tomcat 用户及其父组
首次从命令行运行 JBoss Web 服务器前,您必须创建 tomcat
用户及其父级组,以启用简单且安全的用户管理。
您必须以 root 用户身份执行此流程中的所有步骤。
先决条件
步骤
-
在命令行中,前往
JWS_HOME
目录。 创建
tomcat
用户组:Copy to Clipboard Copied! Toggle word wrap Toggle overflow groupadd -g 53 -r tomcat
# groupadd -g 53 -r tomcat
在
tomcat
用户组中创建tomcat
用户:Copy to Clipboard Copied! Toggle word wrap Toggle overflow useradd -c "tomcat" -u 53 -g tomcat -s /sbin/nologin -r tomcat
# useradd -c "tomcat" -u 53 -g tomcat -s /sbin/nologin -r tomcat
2.4.3. 授予 Tomcat 用户对 JBoss Web 服务器的访问权限
首次从命令行运行 JBoss Web 服务器前,您必须将 tomcat
用户访问 JBoss Web 服务器,方法是将 Tomcat 目录的所有权分配给 tomcat
用户。
您必须以 root 用户身份执行此流程中的所有步骤。
先决条件
步骤
-
前往
JWS_HOME
目录。 为
tomcat
用户分配 Tomcat 目录的所有权:Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown -R tomcat:tomcat tomcat/
# chown -R tomcat:tomcat tomcat/
确保
tomcat
用户具有所有父目录的执行权限:Copy to Clipboard Copied! Toggle word wrap Toggle overflow chmod -R u+X tomcat/
# chmod -R u+X tomcat/
验证
验证
tomcat
用户是否为目录的所有者:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ls -l
# ls -l
2.5. 从存档文件安装时从命令行启动 JBoss Web Server
当您从 Red Hat Enterprise Linux 上的存档文件安装 JBoss Web 服务器时,您可以直接从命令行启动 JBoss Web 服务器。
步骤
以
tomcat
用户身份输入以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow sh JWS_HOME/tomcat/bin/startup.sh
$ sh JWS_HOME/tomcat/bin/startup.sh
2.6. 从存档文件安装时,从命令行停止 JBoss Web 服务器
当您从 Red Hat Enterprise Linux 上的存档文件安装 JBoss Web 服务器时,您可以直接从命令行停止 JBoss Web 服务器。
先决条件
步骤
以
tomcat
用户身份输入以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow sh JWS_HOME/tomcat/bin/shutdown.sh
$ sh JWS_HOME/tomcat/bin/shutdown.sh
2.7. SELinux policies for JBoss Web Server
您可以使用 Security-Enhanced Linux(SELinux)策略为 JBoss Web 服务器定义访问控制。这些策略是一组规则,它们决定了产品的访问权限。
2.7.1. jws5-tomcat
的 SELinux 策略信息
SELinux 安全模型由内核强制,并确保应用程序对文件系统位置和端口等资源具有有限的访问权限。SELinux 策略可确保任何有破坏或不良的进程都受到限制或阻止运行。
JBoss Web 服务器安装中的 jws5-tomcat-selinux
软件包提供了一个 jws5_tomcat
策略。下表包含有关提供的 SELinux 策略的信息。
Name | 端口信息 | 策略信息 |
---|---|---|
|
|
已安装
|
其他资源
- 有关在 Red Hat Enterprise Linux 7 中使用 SELinux 的详情,请查看 RHEL 7 SELinux 用户和管理员指南。
- 有关在 Red Hat Enterprise Linux 8 中使用 SELinux 的详情,请查看 RHEL8 使用 SELinux 指南。
2.7.2. 为 JBoss Web 服务器归档安装安装 SELinux 策略
在本发行版本中,存档软件包提供 SELinux 策略。jws-5.6.0-application-server- <platform> - <architecture>.zip
归档的 tomcat
文件夹包含 .postinstall.selinux
文件。如果需要,您可以运行. postinstall.selinux
脚本。
步骤
安装
selinux-policy-devel
软件包:Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install -y selinux-policy-devel
yum install -y selinux-policy-devel
运行
.postinstall.selinux
脚本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd <JWS_home>/tomcat/ sh .postinstall.selinux
cd <JWS_home>/tomcat/ sh .postinstall.selinux
为 JBoss Web 服务器所需端口添加访问权限:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow semanage port -a -t http_port_t -p tcp <port>
semanage port -a -t http_port_t -p tcp <port>
注意JBoss Web 服务器可以访问红帽企业 Linux
系统上的端口 8080
、8009
、8443
和 8005当 JBoss Web 服务器需要额外的端口时,请使用前面的
semanage
命令提供所需权限,并将 <port>
; 替换为所需端口。启动 Tomcat:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <JWS_home>/tomcat/bin/startup.sh
<JWS_home>/tomcat/bin/startup.sh
检查运行中进程所需
jws5_tomcat
的上下文:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ps -eo pid,user,label,args | grep jws5_tomcat | head -n1
ps -eo pid,user,label,args | grep jws5_tomcat | head -n1
验证 Tomcat 目录的上下文。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ls -lZ <JWS_home>/tomcat/logs/
ls -lZ <JWS_home>/tomcat/logs/
默认情况下,JBoss Web 服务器提供的 SElinux 策略不活跃,且 Tomcat 进程在 unconfined_java_t
域中运行。这个域不受限制进程。
如果您选择不启用提供的 SELinux 策略,可以采用以下安全措施:
-
限制
tomcat
用户的文件访问权限,以便tomcat
用户只能访问 JBoss Web 服务器运行时所需的文件和目录。 - 不要以 root 用户身份运行 Tomcat。
从存档文件安装 JBoss Web 服务器时,红帽不正式支持使用网络文件共享(NFS)。如果您希望 JBoss Web 服务器安装使用 NFS 挂载的文件系统,您需要确保正确修改 SELinux 策略,以支持这种部署。
第 3 章 从 RPM 软件包在 Red Hat Enterprise Linux 上安装 JBoss Web Server
您可以从归档文件或 RPM 软件包在 Red Hat Enterprise Linux 上安装 JBoss Web Server。如果要从 RPM 软件包安装 JBoss Web Server,则 Red Hat Subscription Management 提供了安装软件包。RPM 安装选项可用于 Red Hat Enterprise Linux 7 和 Red Hat Enterprise Linux 8。
从 RPM 软件包安装 JBoss Web Server 将 Tomcat 部署为服务并将 Tomcat 资源安装到绝对路径中。
3.1. 先决条件
- 您已使用 YUM 软件包或从压缩的存档安装了一个受支持的 Java Development Kit(JDK)。
- 您的系统符合 Red Hat Enterprise Linux 软件包要求。
3.1.1. 使用 YUM 软件包管理器安装 JDK
您可以使用 YUM 软件包管理器安装 Java Development Kit(JDK)。有关支持的 JDK 的完整列表,请参阅支持的操作系统和配置。
步骤
将您的 Red Hat Enterprise Linux 系统订阅到适当的频道:
OpenJDK:
- rhel-7-server-rpms
- rhel-8-server-rpms
IBM:
- rhel-7-server-supplementary-rpms
- rhel-8-server-supplementary-rpms
重要Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
以 root 用户身份执行安装 1.8 JDK 的命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install java-1.8.0-<VENDOR>-devel
# yum install java-1.8.0-<VENDOR>-devel
将
<VENDOR>
替换为ibm
或openjdk
以 root 用户身份运行以下命令以确保使用正确的 JDK:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow alternatives --config java
# alternatives --config java
Copy to Clipboard Copied! Toggle word wrap Toggle overflow alternatives --config javac
# alternatives --config javac
这些命令返回可用 JDK 版本列表,其选择版本标有加号(
+
)符号。如果所选 JDK 不是所需的 JDK,请根据 shell 提示符中的指示更改到所需的 JDK。重要所有使用
java 和 java
c
命令的软件都使用替代方案
所设置的 JDK。更改 Java 替代方案可能会影响其他软件的运行。
3.1.2. 从压缩的归档安装 JDK
您可以从压缩的存档(如 .zip
或 .tar
文件)安装 Java Development Kit(JDK)。有关支持的 JDK 的完整列表,请参阅支持的操作系统和配置。
步骤
-
如果 JDK 从供应商的网站(Oracle 或 OpenJDK)下载,请使用供应商提供的安装说明并设置
JAVA_HOME
环境变量。 如果 JDK 是从压缩的归档中安装的,请为 Tomcat 设置
JAVA_HOME
环境变量:-
在 Tomcat 的
bin
目录中(JWS_HOME/tomcat/bin
),创建名为setenv.sh
的文件。 在
setenv.sh
文件中,输入JAVA_HOME
路径定义。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat JWS_HOME/tomcat/bin/setenv.sh export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
$ cat JWS_HOME/tomcat/bin/setenv.sh export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
-
在 Tomcat 的
3.1.3. Red Hat Enterprise Linux 软件包要求
在 Red Hat Enterprise Linux 上安装 JBoss Web Server 之前,您必须确保您的系统符合以下软件包要求。
Red Hat Enterprise Linux 7 和 Red Hat Enterprise Linux 8 的软件包要求不同。
如果要在 Red Hat Enterprise Linux 8 中使用 OpenSSL,您必须安装与操作系统提供的
openssl
软件包。要安装
openssl
软件包,以 root 用户身份输入以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install openssl
# yum install openssl
如果要在 Red Hat Enterprise Linux 8 中使用 Apache Portable Runtime(APR),您必须安装由操作系统提供的
apr
软件包。要安装
apr
软件包,以 root 用户身份运行以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install apr
# yum install apr
在安装
tomcat-native
软件包前,您必须先删除tomcatjss
软件包。tomcatjss
软件包使用底层网络安全服务(NSS)安全模型,而不是 OpenSSL 安全模型。要删除
tomcatjss
软件包,以 root 用户身份运行以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum remove tomcatjss
# yum remove tomcatjss
-
在 Red Hat Enterprise Linux 7 中,JBoss Web 服务器使用
openssl
和apr
软件包,它们由红帽 JBoss Core Services 提供。 -
在 Red Hat Enterprise Linux 8 中,JBoss Web 服务器使用由操作系统提供的
openssl
和apr
软件包。 -
从 Red Hat Enterprise Linux 8 上的存档文件安装 JBoss Web Server 时,您必须安装
openssl
和apr
软件包(由操作系统提供的)。
3.2. 将订阅附加到 Red Hat Enterprise Linux
在为 JBoss Web 服务器下载并安装 RPM 软件包前,您必须将您的系统注册到 Red Hat Subscription Management,并订阅相应的内容交付网络(CDN)软件仓库。然后,您可以执行一些验证步骤以确保订阅提供所需的 CDN 软件仓库。
Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
步骤
- 登录到 Red Hat Subscription Management 网页。
- 点 Systems 标签页。
-
点您要为其添加订阅的系统的
Name
。 -
将 Details 选项卡更改为 Subscriptions 选项卡,然后单击
Attach Subscriptions
。 -
选中您要附加的订阅旁边的复选框,然后单击
Attach Subscriptions
。
验证
- 登录 Red Hat Subscriptions 网页。
-
在
Subscription Name
列中,点您要选择的订阅。 在提供产品 下,您需要以下两个内容:
-
JBoss Enterprise Web Server
-
Red Hat JBoss Core Services
-
其他资源
- 有关注册 Red Hat Enterprise Linux 7 的更多信息,请参阅 RHEL 7 安装指南:订阅管理器
- 有关注册 Red Hat Enterprise Linux 8 的详情,请查看 RHEL 8 Performing a Standard RHEL 安装:使用 Subscription Manager 用户界面注册您的系统。
3.3. 使用 YUM 从 RPM 软件包安装 JBoss Web Server
您可以使用 YUM 软件包管理器从 Red Hat Enterprise Linux 上的 RPM 软件包安装 JBoss Web Server。
先决条件
步骤
要为您的操作系统版本订阅 JBoss Web 服务器 CDN 软件仓库,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable <repository>
# subscription-manager repos --enable <repository>
注意在前面的命令中,将 <
repository&
gt; 替换为以下值:
-
在 Red Hat Enterprise Linux 7 上,将
<repository
> 替换为jws-5-for-rhel-7-server-rpms
和jb-coreservices-1-for-rhel-7-server-rpms
。 -
在 Red Hat Enterprise Linux 8 上,将
<repository
> 替换为jws-5-for-rhel-8-x86_64-rpms
。
-
在 Red Hat Enterprise Linux 7 上,将
要安装 JBoss Web 服务器,以 root 用户身份输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum groupinstall jws5
# yum groupinstall jws5
重要从 RPM 软件包安装 JBoss Web 服务器时,
JWS_HOME
文件夹为/opt/rh/jws5/root/usr/share
。
-
您可以单独安装每个软件包及其依赖项,而不是使用
groupinstall
命令。首选方法是使用groupinstall
。 - 安装 JBoss Web 服务器时,需要 Red Hat JBoss Core Services 软件仓库,但 Red Hat Enterprise Linux 8 系统除外。
- 启用使用 Software Collection 的 NFS 使用的功能。有关这个功能的详情请参考 Packaging Guide:在 NFS 中使用 Software Collections。
3.4. 从 RPM 安装时启动 JBoss Web 服务器
从 RPM 软件包安装 JBoss Web 服务器时,您可以使用命令行启动 JBoss Web 服务器。然后,您可以查看 service status
命令的输出来转换 Tomcat 成功运行。
Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
步骤
以 root 用户身份输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start jws5-tomcat.service
# systemctl start jws5-tomcat.service
注意这是为 RPM 安装启动 JBoss Web 服务器的唯一支持方法。
验证
要验证 Tomcat 是否正在运行,以任意用户身份输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl status jws5-tomcat.service
# systemctl status jws5-tomcat.service
注意有关在 RHEL 8 中安装和配置 HTTPD 的详情,请参考 Deploying different Server 类型:设置 Apache HTTP web 服务器。
3.5. 从 RPM 安装时停止 JBoss Web 服务器
从 RPM 软件包安装 JBoss Web 服务器时,您可以使用命令行停止 JBoss Web 服务器。然后,您可以查看 service status
命令的输出来转换 Tomcat 成功运行。
Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
步骤
以 root 用户身份输入 followng 命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl stop jws5-tomcat.service
# systemctl stop jws5-tomcat.service
验证
要验证 Tomcat 是否不再运行,以任意用户身份运行以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl status jws5-tomcat.service
# systemctl status jws5-tomcat.service
有关在 RHEL 8 中安装和配置 HTTPD 的详情,请参考 Deploying different Server 类型:设置 Apache HTTP web 服务器。
3.6. 将 JBoss Web Server 服务配置为在系统启动时启动
从 RPM 软件包安装 JBoss Web 服务器时,您可以将 JBoss Web 服务器服务配置为在系统启动时启动。
步骤
使用以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl enable jws5-tomcat.service
# systemctl enable jws5-tomcat.service
Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
3.7. SELinux policies for JBoss Web Server
您可以使用 Security-Enhanced Linux(SELinux)策略为 JBoss Web 服务器定义访问控制。这些策略是一组规则,它们决定了产品的访问权限。
3.7.1. jws5-tomcat
的 SELinux 策略信息
SELinux 安全模型由内核强制,并确保应用程序对文件系统位置和端口等资源具有有限的访问权限。SELinux 策略可确保任何有破坏或不良的进程都受到限制或阻止运行。
JBoss Web 服务器安装中的 jws5-tomcat-selinux
软件包提供了一个 jws5_tomcat
策略。下表包含有关提供的 SELinux 策略的信息。
Name | 端口信息 | 策略信息 |
---|---|---|
|
|
已安装
|
其他资源
- 有关在 Red Hat Enterprise Linux 7 中使用 SELinux 的详情,请查看 RHEL 7 SELinux 用户和管理员指南。
- 有关在 Red Hat Enterprise Linux 8 中使用 SELinux 的详情,请查看 RHEL8 使用 SELinux 指南。
3.7.2. 为 JBoss Web Server RPM 安装启用 SELinux 策略
当您从 RPM 软件包安装 JBoss Web 服务器时,jws 5-tomcat-selinux
软件包会为 JBoss Web 服务器提供 SELinux 策略。这些软件包包括在 JBoss Web Server 频道中。
步骤
安装
jws5-tomcat-selinux
软件包:Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install -y jws5-tomcat-selinux
yum install -y jws5-tomcat-selinux
第 4 章 在 Microsoft Windows 上安装 JBoss Web Server
您可以从一组可以从链接 http://access.redhat.com{ Red Hat Customer Portal] 下载的归档文件在 Microsoft Windows 上安装 JBoss Web Server。
4.1. 在 Microsoft Windows 上安装 JDK
在 Microsoft Windows 上安装 JBoss Web Server 之前,您必须首先安装 Java Development Kit(JDK)。
您可以从受支持的供应商网站(如 Oracle 或 IBM)下载并安装 JDK。有关支持的 JDK 列表,请查看 支持的操作系统和配置。
这个步骤描述了如何安装 Oracle JDK。
步骤
要访问 Oracle 网站,请打开浏览器窗口并输入以下 URL:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
- 下载适用于您的操作系统和架构的 Oracle JDK。
- 双击下载的文件以开始安装。
- 按照安装窗口中的指示进行操作。
其他资源
- 有关安装 IBM JDK 的详情,请查看 IBM developer kits 网页。
4.2. 在 Microsoft Windows 上下载和提取 JBoss Web 服务器
您可以从红帽客户门户网站上的 产品下载页面下载 JBoss Web 服务器存档文件。
步骤
- 打开浏览器并登录 红帽产品下载页面。
- 在产品下载 列表中,点 Red Hat JBoss Web Server。
- 在 Software Downloads 页面中,从 Version 下拉菜单中选择正确的 JBoss Web Server 版本。
在 Download File 表中,点以下每个文件旁的 Download:
-
红帽 JBoss Web 服务器 5.6 应用服务器(
jws-5.6.0-application-server.zip
)。 用于 Windows 服务器的 Red Hat JBoss Web Server 5.6 原生组件(
jws-5.6.0-application-server-<platform>-<architecture>.zip
)。注意请确定您选择与系统中平台和架构匹配的正确文件。
-
红帽 JBoss Web 服务器 5.6 应用服务器(
- 将下载的存档文件解压缩到您的安装目录。
当您提取存档时,会创建 JBoss Web 服务器的最顶层目录。本文档将 JBoss Web 服务器的顶级目录称为 JWS_HOME
。
4.3. Microsoft Windows 上的 JBoss Web Server 配置
在 Microsoft Windows 上安装 JBoss Web Server 时,您可以通过命令提示符或使用计算机管理工具管理 JBoss Web 服务器。
在 Microsoft Windows 上运行 JBoss Web Server 之前,您必须执行以下一系列配置任务:
4.3.1. 在 Microsoft Windows 上为 JBoss Web 服务器设置环境变量
在 Microsoft Windows 上第一次运行 JBoss Web 服务器前,您必须设置 JAVA_HOME
、TMP
和 TEMP
环境变量。您还需要更新 PATH
环境变量。
先决条件
步骤
- 登录具有本地管理员权限的帐户。
- 点 Control Panel > System。
- 点 Advanced 标签页。
- 单击 环境变量 按钮。
- 单击 系统变量 的新建 按钮。
-
对于
JAVA_HOME
、TM
P 和TEMP
,请为您的系统输入适当的名称值对。 要启用 SSL 连接器成功工作,请将
JWS_HOME\bin
添加到服务将要运行的用户的PATH
环境变量中。注意服务默认在
SYSTEM
用户下运行。
4.3.2. 在 Microsoft Windows 上安装 Tomcat 服务
在 Microsoft Windows 上第一次运行 JBoss Web 服务器前,您必须安装 Tomcat 服务。
先决条件
- 您已为 JBoss Web 服务器设置环境变量。
步骤
打开具有管理员特权的命令提示,并进入 Tomcat 版本的
bin
文件夹:Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /D "JWS_HOME\tomcat\bin"
cd /D "JWS_HOME\tomcat\bin"
安装 Tomcat 服务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow call service.bat install
call service.bat install
4.3.3. 在 Microsoft Windows 上为 JBoss Web Server 服务配置文件夹权限
在 Microsoft Windows 上第一次运行 JBoss Web 服务器前,您必须为 JBoss Web Server 服务配置文件夹权限。配置文件夹权限可确保用于运行 JBoss Web 服务器服务的帐户对 JWS_HOME
文件夹及其所有子文件夹具有完全控制。
先决条件
步骤
-
右键单击
JWS_HOME
文件夹并单击 Properties。 - 选择 Security 选项卡。
- 单击 编辑 按钮。
- 点击 Add 按钮。
-
在文本框中,输入
LOCAL SERVICE
。 -
选中
LOCAL SERVICE
帐户的 Full Control 复选框。 - 点确定。
- 单击 Advanced 按钮。
-
在 Advanced Security Settings 对话框中,选择
LOCAL SERVICE
并单击 Edit。 - 选中 此对象选项中所有带有继承权限的后代替换所有现有可继承权限 旁边的复选框。
- 通过所有打开的文件夹属性窗口,单击 确定 以应用设置。
4.4. 在 Microsoft Windows 上启动 JBoss Web Server
在 Microsoft Windows 上安装 JBoss Web Server 时,您可以使用命令提示或计算机管理工具启动 Tomcat 服务。
先决条件
步骤
执行以下步骤之一:
以管理员身份打开 Command Prompt 并输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow net start tomcat9
net start tomcat9
-
点 Start > Administrative Tools > Services,右键点击
Tomcat9
服务,然后点击 Start。
些第三方应用向 Windows 中的系统目录添加库。这些第三方库在查找过程中优先于 Tomcat 库。如果第三方库的名称与 Tomcat 原生库的名称相同,系统将加载第三方库,而不是随 JBoss Web 服务器分发的库。在这种情况下,Tomcat 可能无法启动,Tomcat 不会记录 Windows Event Log 或 Tomcat 日志文件中的任何错误消息。
如果发生此行为,您可以执行以下步骤:
-
要查看错误,请运行
catalina.bat run
命令。 -
检查
C:\windows\System32\
目录和其他PATH
目录中的内容。 -
确保动态链接库(DLL)与 JBoss Web 服务器库不冲突。特别是,查找
libeay32.dll
、ssleay32.dll
、和libssl32.dll
库。
4.5. 在 Microsoft Windows 上停止 JBoss Web Server
当您在 Microsoft Windows 上安装 JBoss Web Server 时,您可以使用 Command Prompt 或 Computer 管理工具停止 Tomcat 服务。
先决条件
步骤
执行以下步骤之一:
以管理员身份打开 Command Prompt 并输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow net stop tomcat9
net stop tomcat9
-
进入 Start > Administrative Tools > Services,右键点击
Tomcat9
服务,然后点击 Stop。
第 5 章 为 JBoss Web 服务器配置 Hibernate
Hibernate 对象/Relational 映射(ORM)是一个对象关系映射框架,可用于将 JBoss Web 服务器连接到 Java 数据库连接(JDBC)数据源。如果要将应用程序数据存储在相关数据库中,您可以使用 Hibernate ORM 与 JBoss Web 服务器。
5.1. 安装 Hibernate ORM
您可以在 JBoss Web 服务器支持的所有平台上安装 Hibernate ORM。
先决条件
您已将项目配置为使用 JBoss Web 服务器 Maven 存储库。
注意JBoss Web 服务器 Maven 存储库可从 Red Hat Software Downloads 页面下载为
jboss-web-server-5.6.0-maven-repository.zip
。
步骤
- 从 JBoss Web 服务器 Maven 存储库获取 Hibernate JAR 文件。
- 将 Hibernate JAR 文件添加到您的部署 WAR 文件。
5.2. 配置 JDBC 连接池
Apache Tomcat 为 JDBC datasources提供默认连接池机制。您可以通过更新 JBoss Web Server 部署的 /META-INF/context.xml
文件中的设置来配置 JDBC 连接池。
步骤
-
打开
/META-INF/context.xml
文件。 修改可供应用使用的 JDBC 连接池。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <Context> <Resource name="jdbc/DsWebAppDB" auth="Container" type="javax.sql.DataSource" username="sa" password="" driverClassName="org.h2.Driver" url="jdbc:h2:mem:target/test/db/h2/hibernate" maxActive="8" maxIdle="4"/> </Context>
<Context> <Resource name="jdbc/DsWebAppDB" auth="Container" type="javax.sql.DataSource" username="sa" password="" driverClassName="org.h2.Driver" url="jdbc:h2:mem:target/test/db/h2/hibernate" maxActive="8" maxIdle="4"/> </Context>
5.3. 配置 Hibernate 连接属性
您可以通过更新 JBoss Web 服务器部署的 /WEB-INF/classes/META-INF/persistence.xml
文件中的设置,将 Hibernate 配置为使用 Tomcat 池中的 JDBC 连接。
如果要直接使用 Hibernate API,请使用与 hibernate.cfg.xml
文件类似的配置。
步骤
-
打开
/WEB-INF/classes/META-INF/persistence.xml
文件。 配置 Hibernate 以消耗来自 Tomcat 的连接。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="dswebapp"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" /> <property name="hibernate.connection.datasource" value="java:comp/env/jdbc/DsWebAppDB"/> </properties> </persistence-unit> </persistence>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="dswebapp"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" /> <property name="hibernate.connection.datasource" value="java:comp/env/jdbc/DsWebAppDB"/> </properties> </persistence-unit> </persistence>
5.4. 添加 JDBC 数据源
您可以通过更新 JBoss Web 服务器部署的 /WEB-INF/web.xml
文件中的设置,将 Tomcat 配置为消耗 JDBC 数据源。
步骤
-
打开
/WEB-INF/web.xml
文件。 使用
resource-env-ref
元素配置 JDBC datasources。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <resource-env-ref> <resource-env-ref-name>jdbc/DsWebAppDB</resource-env-ref-name> <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type> </resource-env-ref> </web-app>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <resource-env-ref> <resource-env-ref-name>jdbc/DsWebAppDB</resource-env-ref-name> <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type> </resource-env-ref> </web-app>
注意前面的示例使用了
jdbc/DsWebAppDB
数据源。
第 6 章 为红帽 JBoss Web 服务器启用 HTTP/2
Hypertext 传输协议(HTTP)是通过互联网在应用程序间传输数据的标准方法,如服务器和浏览器。JBoss Web 服务器支持将 HTTP/2 用于使用传输层安全(TLS)的加密连接,该连接在启用后由 h2
关键字表示。
HTTP/2 通过提供以下改进,改进了 HTTP/1.1:
- 标头压缩省略了表示的信息,以减少传输的标头的大小。
- 单个连接中的多个请求和响应使用二进制标记,而不是文本框中断响应消息。
JBoss Web 服务器不支持将 HTTP/2 用于使用传输控制协议(TCP)的未加密连接,在启用时由 h2c
关键字表示。
6.1. 先决条件
- 在 Red Hat Enterprise Linux 上具有 root 用户访问。
- 已安装 Red Hat JBoss Web Server 5.0 或更高版本。
已安装 Red Hat Enterprise Linux 提供的
openssl
和apr
软件包。有关安装openssl
和apr
软件包的详情请参考 Red Hat Enterprise Linux 软件包要求。注意这些操作系统原生库也由
jws-5.6.0-application-server- <platform> - <architecture> .zip
提供。如果要在 Red Hat Enterprise Linux 8 上运行 JSSE+OpenSSL 或 APR,则必须使用 Tomcat-Native 以确保成功操作。Tomcat-Native 位于原生存档目录中。
您已配置了支持启用了 SSL 的 HTTP/2 协议的连接器。对于 JBoss Web Server 5.6,以下连接器支持 HTTP/2 协议:
- APR 原生连接器(APR)
- NIO 与 JSSE + OpenSSL(JSSE)连接器.
- NIO2 与 JSSE + OpenSSL(JSSE)连接器.
6.2. 为连接器启用 HTTP/2
您可以通过更新 server.xml
配置文件中的设置来为连接器启用 HTTP/2。
步骤
-
打开
JWS_HOME/tomcat/conf/server.xml
配置文件。 在
server.xml
文件中,将 HTTP/2 升级协议添加到连接器中。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeystoreFile="/KeyStore.jks" certificateKeystorePassword="changeit" type="RSA" /> </SSLHostConfig> </Connector>
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeystoreFile="/KeyStore.jks" certificateKeystorePassword="changeit" type="RSA" /> </SSLHostConfig> </Connector>
server.xml
文件包含 APR 协议的连接器定义示例,并将升级协议设置为 HTTP/2。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" maxThreads="150" SSLEnabled="true" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeyFile="conf/localhost-rsa-key.pem" certificateFile="conf/localhost-rsa-cert.pem" certificateChainFile="conf/localhost-rsa-chain.pem" type="RSA" /> </SSLHostConfig> </Connector>
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" maxThreads="150" SSLEnabled="true" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeyFile="conf/localhost-rsa-key.pem" certificateFile="conf/localhost-rsa-cert.pem" certificateChainFile="conf/localhost-rsa-chain.pem" type="RSA" /> </SSLHostConfig> </Connector>
要应用配置更新,请以 root 用户身份重启红帽 JBoss Web 服务器。
要使用
systemd
在 Red Hat Enterprise Linux 中重启 JBoss Web Server,请输入以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart jws5-tomcat.service
# systemctl restart jws5-tomcat.service
要使用 boot
.sh
在 Red Hat Enterprise Linux 上重启 JBoss Web Server,请输入以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow JWS_HOME/sbin/shudown.sh JWS_HOME/sbin/startup.sh
# JWS_HOME/sbin/shudown.sh # JWS_HOME/sbin/startup.sh
要在 Microsoft Windows 上重启 JBoss Web Server,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow net restart tomcat9
# net restart tomcat9
Red Hat Enterprise Linux 6 不再被支持,随后从文档中被删除。
6.3. 查看 JBoss Web Server 日志以验证是否启用了 HTTP/2
您可以查看 JBoss Web Server 控制台输出日志,以验证是否启用了 HTTP/2。
先决条件
步骤
要查看控制台输出日志,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat JWS_HOME/tomcat/logs/catalina.out | grep 'h2'
$ cat JWS_HOME/tomcat/logs/catalina.out | grep 'h2'
注意在前面的命令中,将
JWS_HOME
替换为 JBoss Web 服务器安装的顶层目录。
验证
如果启用了 HTTP/2,命令会生成以下类型的输出结果,表明连接器已配置为支持协商至
[h2]
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 06-Apr-2018 04:49:26.201 INFO [main] org.apache.coyote.http11.AbstractHttp11Protocol.configureUpgradeProtocol The ["https-openssl-apr-8443"] connector has been configured to support negotiation to [h2] via ALPN
06-Apr-2018 04:49:26.201 INFO [main] org.apache.coyote.http11.AbstractHttp11Protocol.configureUpgradeProtocol The ["https-openssl-apr-8443"] connector has been configured to support negotiation to [h2] via ALPN
6.4. 使用 curl 命令验证是否已启用 HTTP/2
您可以使用 curl
命令行工具验证是否已启用 HTTP/2。
先决条件
- 为连接器启用了 HTTP/2。
您可以使用支持 HTTP/2 的
curl
版本。要检查您是否使用支持 HTTP/2 的
curl
版本,请输入以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl -V
$ curl -V
该命令生成以下输出类型:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl 7.55.1 (x86_64-redhat-linux-gnu) ... Release-Date: 2017-08-14 Protocols: dict file ftp ftps gopher http https ... Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy Metalink PSL
curl 7.55.1 (x86_64-redhat-linux-gnu) ... Release-Date: 2017-08-14 Protocols: dict file ftp ftps gopher http https ... Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy Metalink PSL
步骤
要检查 HTTP/2 协议是否活跃,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl -I http://<JBoss_Web_Server>:8080/
$ curl -I http://<JBoss_Web_Server>:8080/
注意在前面的示例中,将 < ;JBoss_Web_Server > 替换为修改连接器的 URI,如
example.com
。端口号取决于您的配置。
验证
如果 HTTP/2 协议是活跃的,
curl
命令会生成以下输出:Copy to Clipboard Copied! Toggle word wrap Toggle overflow HTTP/2 200
HTTP/2 200
否则,如果 HTTP/2 协议不活跃,
curl
命令会生成以下输出:Copy to Clipboard Copied! Toggle word wrap Toggle overflow HTTP/1.1 200
HTTP/1.1 200
6.5. 其他资源(或后续步骤)
- 有关使用 HTTP/2 的详情,请参考 Apache Tomcat 9 配置参考:HTTP Connector - HTTP/2 支持.
- 有关 HTTP/2 升级协议和支持的属性的更多信息,请参阅 Apache Tomcat 9 配置参考:HTTP2 升级协议。
- 有关 HTTP/2 提议的互联网标准的更多信息,请参阅 IETF:RFC 7540 - Hypertext 传输协议版本 2(HTTP/2)。
第 7 章 在 Red Hat JBoss Web 服务器中使用密码 vault
JBoss Web 服务器密码 vault(名为 tomcat-vault
)是 Apache Tomcat 的 PicketLink vault 扩展。您可以使用密码 vault 屏蔽密码和其他敏感字符串,并在加密的 Java 密钥存储中存储敏感信息。使用密码库时,您可以停止将明文密码存储在 Tomcat 配置文件中。Tomcat 可以使用密码 vault 从密钥存储搜索密码和其他敏感字符串。
有关在密码 vault 中使用 CRYPT
功能的更多信息,请参阅使用 CRYPT。
联邦信息处理标准(FIPS)140-2 不支持 tomcat-vault
提供的基于密码的加密。如果要在 JBoss Web 服务器主机上使用基于密码的加密,您必须确定禁用 FIPS。如果您在启用了 FIPS 模式时试图使用 tomcat-vault
,则会显示以下出错信息:安全 Vault 无法用于 FIPS 模式
7.1. 从存档文件进行密码 vault 安装
从存档文件安装 JBoss Web 服务器时,当您安装 jws-5.6.0-application-server.zip
文件时,密码 vault 会自动安装。密码库位于 JWS_HOME/tomcat/lib/tomcat-vault.jar
文件中。
7.2. 使用 YUM 软件包管理器在 RHEL 上安装密码库
当您从 RPM 软件包在 Red Hat Enterprise Linux 上安装 JBoss Web 服务器时,您可以使用 YUM 软件包管理器安装密码 vault。
步骤
以 root 用户身份输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install jws5-tomcat-vault
yum install jws5-tomcat-vault
7.3. 在 JBoss Web 服务器中启用密码库
您可以通过在 catalina.properties
文件中添加 configuration 属性来启用密码 vault。
先决条件
- 您已经 从存档文件 安装了密码 vault,也可以使用 YUM 软件包管理器。
步骤
- 如果已经运行,则停止 Tomcat。
-
打开
JWS_HOME/tomcat/conf/catalina.properties
文件。 在
catalina.properties
文件中,输入以下行:Copy to Clipboard Copied! Toggle word wrap Toggle overflow org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.vault.util.PropertySourceVault
org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.vault.util.PropertySourceVault
注意在前面的示例中,将
JWS_HOME
替换为 JBoss Web 服务器安装的路径。本例中显示的路径使用正斜杠(/
)作为目录分隔符。
7.4. 在 JBoss Web 服务器中创建 Java 密钥存储
在使用密码 vault 前,您必须首先使用 keytool -genseckey
命令创建 Java 密钥存储。
步骤
使用以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow keytool -genseckey -keystore JWS_HOME/tomcat/vault.keystore -alias my_vault -storetype jceks -keyalg AES -keysize 128 -storepass <vault_password> -keypass <vault_password> -validity 730
$ keytool -genseckey -keystore JWS_HOME/tomcat/vault.keystore -alias my_vault -storetype jceks -keyalg AES -keysize 128 -storepass <vault_password> -keypass <vault_password> -validity 730
注意在前面的示例中,将参数设置替换为适合您的环境的值。
有关每个参数的更多信息,请使用
keytool -genseckey -help
命令。
密码 vault 目前不支持 PKCS12
密钥存储类型。密码 vault 仅支持 JCEKS
密钥存储类型。
根据您使用的密钥存储算法,您必须指定以下 keysize
值之一:
-
如果您使用 AES,请指定
-keysize 128
。 -
如果您使用的是 DES,请指定
-keysize 56
。 -
如果您使用 DESede,请指定
-keysize 168
。
7.5. Apache Tomcat 的 vault 初始化
您可以使用 tomcat-vault.sh
脚本为 Apache Tomcat 初始化密码 vault。tomcat-vault.sh
脚本支持以下一种机制来初始化密码库:
7.5.1. 交互式地初始化 Apache Tomcat 的密码库
您可以以互动方式为 Tomcat 初始化密码 vault。在这种情况下,tomcat-vault.sh
脚本会提示您在脚本运行时输入值。
步骤
运行
tomcat-vault.sh
脚本并根据屏幕提示进行操作。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JWS_HOME/tomcat/bin/tomcat-vault.sh
# JWS_HOME/tomcat/bin/tomcat-vault.sh WARNING JBOSS_HOME may be pointing to a different installation - unpredictable results may occur. ========================================================================= JBoss Vault JBOSS_HOME: JWS_HOME/tomcat JAVA: java ========================================================================= ********************************** **** JBoss Vault *************** ********************************** Please enter a Digit:: 0: Start Interactive Session 1: Remove Interactive Session 2: Exit 0 Starting an interactive session Enter directory to store encrypted files: JWS_HOME/tomcat/ Enter Keystore URL: JWS_HOME/tomcat/vault.keystore Enter Keystore password: <vault_password> Enter Keystore password again: <vault_password> Values match Enter 8 character salt: 1234abcd Enter iteration count as a number (Eg: 44): 120 Enter Keystore Alias: my_vault Initializing Vault Jun 16, 2018 10:24:27 AM org.apache.tomcat.vault.security.vault.PicketBoxSecurityVault init INFO: PBOX000361: Default Security Vault Implementation Initialized and Ready Vault Configuration in tomcat properties file: ******************************************** ... KEYSTORE_URL=JWS_HOME/tomcat/vault.keystore KEYSTORE_PASSWORD=MASK-3CuP21KMHn7G6iH/A3YpM/ KEYSTORE_ALIAS=my_vault SALT=1234abcd ITERATION_COUNT=120 ENC_FILE_DIR=JWS_HOME/tomcat/ ... ******************************************** Vault is initialized and ready for use Handshake with Vault complete Please enter a Digit:: 0: Store a secured attribute 1: Check whether a secured attribute exists 2: Exit 2
注意在前面的示例中,将指定的设置替换为适合您的环境的值。
- 请注意 Tomcat 属性文件的输出。在将 Tomcat 配置为使用密码 vault 时,您需要此信息。
7.5.2. 使用非互动设置为 Apache Tomcat 初始化密码库
您可以使用非交互式设置为 Tomcat 初始化密码 vault。在这种情况下,您必须在运行脚本时为 tomcat-vault.sh
脚本提供所需的输入。
步骤
运行
tomcat-vault.sh
脚本并提供所需参数。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JWS_HOME/tomcat/bin/tomcat-vault.sh \ --keystore JWS_HOME/tomcat/vault.keystore \ --keystore-password <vault_password> \ --alias my_vault \ --enc-dir JWS_HOME/tomcat/ \ --iteration 120 \ --salt 1234abcd \ --generate-config JWS_HOME/tomcat/conf/vault.properties
$ JWS_HOME/tomcat/bin/tomcat-vault.sh \ --keystore JWS_HOME/tomcat/vault.keystore \ --keystore-password <vault_password> \ --alias my_vault \ --enc-dir JWS_HOME/tomcat/ \ --iteration 120 \ --salt 1234abcd \ --generate-config JWS_HOME/tomcat/conf/vault.properties
在前面的示例中,将指定的设置替换为适合您的环境的值。
当您指定 -g、--generate-config
选项时,tomcat-vault.sh
脚本也会创建一个包含指定属性的 vault.properties
文件。
7.6. 将 Tomcat 配置为使用密码库
您可以通过更新 vault.properties
文件中的配置设置,将 Apache Tomcat 配置为使用密码 vault。
先决条件
- 您已为 Tomcat 初始化了密码 vault。
步骤
-
进入
JWS_HOME/tomcat/conf/
目录。 -
创建名为
vault.properties
的文件。 在
vault.properties
文件中,输入您在为 Tomcat 初始化密码 vault 时指定的 vault 配置属性。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KEYSTORE_URL=JWS_HOME/tomcat/vault.keystore KEYSTORE_PASSWORD=MASK-3CuP21KMHn7G6iH/A3YpM/ KEYSTORE_ALIAS=my_vault SALT=1234abcd ITERATION_COUNT=120 ENC_FILE_DIR=JWS_HOME/tomcat/
KEYSTORE_URL=JWS_HOME/tomcat/vault.keystore KEYSTORE_PASSWORD=MASK-3CuP21KMHn7G6iH/A3YpM/ KEYSTORE_ALIAS=my_vault SALT=1234abcd ITERATION_COUNT=120 ENC_FILE_DIR=JWS_HOME/tomcat/
前面的示例基于 使用交互式设置在 Apache Tomcat 初始化密码 vault 中的示例 vault 设置。
对于 KEYSTORE_PASSWORD
设置,请确保使用初始化密码 vault 时生成的掩码值。
7.7. 外部密码库配置
您可以在 JWS_HOME/tomcat/conf/
目录外存储 vault.properties
文件。如果您已经设置了 CATALINA_BASE/conf/
目录,您可以将 vault.properties
文件存储在 CATALINA_BASE/conf/
目录中。
有关设置 CATALINA_BASE
目录的更多信息,请参阅在 Apache Tomcat 网站上 运行 Apache Tomcat 9.0 Servlet/JSP Container 中的"高级配置 - 多 Tomcat 实例"部分。
CATALINA_BASE
的默认位置是 JWS_HOME/tomcat/
。这也被称为 CATALINA_HOME
目录。
其它资源
- Apache Tomcat 9:简介 - 目录和文件
- 运行 Apache Tomcat 9.0 Servlet/JSP 容器 :"高级配置 - 多个 Tomcat 实例"
7.8. 在密码库中存储敏感字符串
您可以使用 tomcat-vault.sh
脚本将敏感字符串存储在密码库中。您可以以互动方式或非互动模式运行 tomcat-vault.sh
脚本。
当您在密码库中添加敏感字符串时,您必须为字符串指定名称。在这种情况下,字符串的名称称为 属性名称
,字符串本身则称为安全属性。
步骤
要在非互动模式中使用
tomcat-vault.sh
脚本,请输入以下命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow JWS_HOME/tomcat/bin/tomcat-vault.sh --keystore JWS_HOME/tomcat/vault.keystore --keystore-password <vault_password> --alias my_vault --enc-dir JWS_HOME/tomcat --iteration 120 --salt 1234abcd --vault-block my_block --attribute manager_password --sec-attr P@SSW0#D
$ JWS_HOME/tomcat/bin/tomcat-vault.sh --keystore JWS_HOME/tomcat/vault.keystore --keystore-password <vault_password> --alias my_vault --enc-dir JWS_HOME/tomcat --iteration 120 --salt 1234abcd --vault-block my_block --attribute manager_password --sec-attr P@SSW0#D
前面的示例基于 使用交互式设置在 Apache Tomcat 初始化密码 vault 中的示例 vault 设置。前面的示例存储敏感字符串 P@SSW0#D
,属性名称为 manager_password
。
运行 tomcat-vault.sh
脚本时,您可以选择指定一个 vault 块来存储密码。如果没有指定块,tomcat-vault.sh
脚本会自动创建块。前面的示例指定了一个名为 my_block
的 vault 块。
7.9. 在 Tomcat 配置中使用存储的敏感字符串
当您在密码 vault 中存储敏感字符串时,您可以引用属性名称,而不是在配置文件中指定实际字符串。通过将受保护的字符串替换为字符串的属性名称,您可以确保 Tomcat 配置文件仅包含对密码的引用。在这种情况下,实际密码只存储在密码库中。
步骤
- 打开包含敏感字符串的 Tomcat 配置文件。
将敏感字符串替换为字符串的属性名称,并确保以以下格式输入属性名称
:${VAULT::block_name::attribute_name::::}
例如:
考虑安全字符串的以下示例文件条目:
P@SSW0#D
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow <user username="manager" password=*"P@SSW0#D"* roles="manager-gui"/>
<user username="manager" password=*"P@SSW0#D"* roles="manager-gui"/>
如果安全字符串
P@SSW0#D
具有属性名称manager_password
,请将受保护的字符串替换为以下值:Copy to Clipboard Copied! Toggle word wrap Toggle overflow <user username="manager" password=*"${VAULT::my_block::manager_password::}"* roles="manager-gui"/>
<user username="manager" password=*"${VAULT::my_block::manager_password::}"* roles="manager-gui"/>
上例基于 在密码 vault 中存储敏感字符串的示例 设置。前面的示例将敏感字符串 P@SSW0#D
替换为属性名称 manager_password
,它位于名为 my_block
的块中。
第 8 章 配置 SSI 过滤器
您可以配置基于过滤器的服务器 Side Includes(SSI)支持 JBoss Web 服务器,以便在现有的 HTML 页面中启用动态生成内容。
如果您尝试像之前版本一样配置 SSI 过滤器,则 SSI 指令不起作用。
步骤
-
打开
conf/web.xml
文件。 在
web.xml
文件中,取消对以下块的注释:Copy to Clipboard Copied! Toggle word wrap Toggle overflow <mime-mapping> <extension>shtml</extension> <mime-type>text/x-server-parsed-html</mime-type> </mime-mapping>
<mime-mapping> <extension>shtml</extension> <mime-type>text/x-server-parsed-html</mime-type> </mime-mapping>
第 9 章 为 Red Hat JBoss Web 服务器配置 FIPS
在 Red Hat Enterprise Linux 8 主机上安装 JBoss Web 服务器时,您可以将 JBoss Web 服务器配置为符合联邦信息处理标准(FIPS)。当您在 Red Hat Enterprise Linux 主机上启用 FIPS 时,这可让 JBoss Web 服务器自动以 FIPS 模式运行。
FIPS 不支持 JBoss Web 服务器的 tomcat-vault
组件提供的基于密码的加密功能。如果要在 JBoss Web 服务器主机上使用基于密码的加密,您必须确定禁用 FIPS。有关基于密码的加密和 tomcat-vault
的更多信息,请参阅红帽 JBoss Web 服务器的 Vault。
9.1. FIPS 简介
联邦信息处理标准(FIPS)为提高计算机系统和网络之间的安全性和互操作性提供了指南和要求。FIPS 140-2 和 140-3 系列适用于硬件和软件级别的加密模块。美国国家标准和技术研究院实施 加密模块验证程序,其中包含流程中和批准的加密模块的可搜索列表。
Red Hat Enterprise Linux 提供了一个集成框架,可以在整个系统基础上启用 FIPS 140-2 合规性。当在 FIPS 模式下操作时,使用加密库的软件包会根据全局策略进行自我配置。
其他资源
- 政府标准 (红帽客户门户)
- 加密模块(国家标准与技术学院(NIST)网站)的安全要求.
9.2. 在 RHEL 8 中为 JBoss Web 服务器配置 FIPS
您可以在系统安装过程中在 Red Hat Enterprise Linux 8 主机上启用 FIPS 合规性。另外,您可以在系统安装完成后将系统切换到 FIPS 模式。
步骤
要启用 FIPS 模式,请完成以下步骤之一:
- 如果要在系统安装过程中启用 FIPS,请按照 Security Hardening 中的说明进行操作:使用启用了 FIPS 模式安装系统。
- 如果要在系统安装后切换到 FIPS 模式,请按照 Security Hardening 中的说明进行操作:将系统切换到 FIPS 模式。
验证
使用以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fips-mode-setup --check
fips-mode-setup --check
如果启用了 FIPS,它会输出以下输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow FIPS mode is enabled.
FIPS mode is enabled.
附录 A. Java IPv4 和 IPv6 属性
您可以使用 Java 属性来配置 IPv4 和 IPv6 地址。然后,您可以将这些属性导出到 Tomcat,并使用地址值来指定 Tomcat 绑定。
A.1. Java IPv4 和 IPv6 属性概述
Java 提供了两个属性,可用于配置 IPv4 和 IPv6 地址:
- java.net.preferIPv4Stack(默认: false)
-
如果 IPv6 可用,则底层原生套接字默认为 IPv6 套接字。这个套接字可让应用程序连接和接受 IPv4 和 IPv6 主机的连接。如果应用程序只使用 IPv4 套接字,请将此属性设置为
true
。但是,使用 IPv4 套接字的应用程序只能与只有 IPv6 的主机通信。 - java.net.preferIPv6Addresses(默认为 false)
-
如果主机既有 IPv4 和 IPv6 地址,且 IPv6 都可用,则默认行为是通过 IPv6 使用 IPv4 地址。这样可实现向后兼容。如果应用程序依赖于 IPv4 地址表示(如 192.168.1.1),请将此属性设置为
true
以更改首选项,并在可能的情况下通过 IPv4 使用 IPv6 地址。
A.2. 将 Java IPv4 和 IPv6 属性导出到 Tomcat
您可以通过在 JWS_HOME/tomcat/bin/setenv.* 文件中设置
将 Java IPv4 和 IPv6 属性导出到 Tomcat。在 Red Hat Enterprise Linux 中,CATALINA_
OPTSsetenv
文件有一个 .sh
扩展。在 Microsoft Windows 上,setenv
文件有一个 .bat
扩展。
步骤
如果
JWS_HOME/tomcat/bin/setenv.*
文件不存在,请创建该文件。注意如果您使用 Red Hat Enterprise Linux,请创建一个
setenv.sh
文件。如果您使用 Microsoft Windows,请创建一个setenv.bat
文件。要将 Java IPv4 和 IPv6 属性导出到 Tomcat,请执行以下步骤:
如果使用 Red Hat Enterprise Linux,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"
export "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"
如果使用 Microsoft Windows,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow set "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"
set "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"
A.3. 配置 Tomcat 绑定
您可以通过指定 IPv6 地址,在 JWS_HOME/tomcat/conf/server.xml
文件中配置 Tomcat 绑定。
步骤
-
打开
JWS_HOME/tomcat/conf/server.xml
文件。 要指定 Tomcat 绑定地址,请输入以下详情:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <Server ... address="TOMCAT_BINDING_ADDRESS">
<Server ... address="TOMCAT_BINDING_ADDRESS">
要指定 HTTP 连接器地址,请输入以下详情:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <Connector protocol="HTTP/1.1" ... address="HTTP_CONNECTOR_ADDRESS">
<Connector protocol="HTTP/1.1" ... address="HTTP_CONNECTOR_ADDRESS">
要指定 AJP 连接器地址,请输入以下详细信息:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <Connector protocol="AJP/1.3" ... address="AJP_CONNECTOR_ADDRESS">
<Connector protocol="AJP/1.3" ... address="AJP_CONNECTOR_ADDRESS">
确保将 TOMCAT_BINDING_ADDRESS
、HTTP_CONNECTOR_ADDRESS
和 AJP_CONNECTOR_ADDRESS
替换为正确的 IPv6 地址。