安装指南


Red Hat JBoss Web Server 6.1

安装和配置 Red Hat JBoss Web Server 6.1

Red Hat Customer Content Services

摘要

在受支持的操作系统上安装、升级和执行 Red Hat JBoss Web Server 的基本配置。

提供有关 Red Hat JBoss Web Server 文档的反馈

要报告错误或改进文档,请登录您的红帽 JIRA 帐户并提交问题。如果您没有红帽 JIRA 帐户,系统会提示您创建一个帐户。

流程

  1. 单击以下链接 来创建 ticket
  2. Summary 中输入有关此问题的简单描述。
  3. 描述中提供问题或增强功能的详细描述。请包括有问题的文档 URL。
  4. Create 创建并将问题路由到适当的文档团队。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO 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 Server 组件

JBoss Web 服务器包括 Apache Tomcat Servlet 容器、Tomcat 原生库、Tomcat vault、mod_cluster 库、Apache Portable Runtime (APR)和 OpenSSL 等组件。

Apache Tomcat
Apache Tomcat 是一个基于 Java Servlet 规范的 servlet 容器。JBoss Web 服务器 6.x 包含 Apache Tomcat 10.1。
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_jkmod_proxy,请参阅 HTTP Connectors 和 Load Balancing 指南
Apache Portable Runtime
Apache Portable Runtime (APR)为 HTTP 连接器提供基于 OpenSSL 的 TLS 实现。
OpenSSL
OpenSSL 是一个实现安全套接字层(SSL)和传输层安全(TLS)协议的软件库。OpenSSL 包括一个基本的加密库。

有关 Red Hat JBoss Web Server 支持组件的完整列表,请查看 JBoss Web Server 组件详情页

1.2. 红帽提供的 Apache Tomcat 发行版本之间的区别

Red Hat JBoss Web Server 和 Red Hat Enterprise Linux (RHEL)都提供 Apache Tomcat 的独立发行版。但是,与 Apache Tomcat 的 RHEL 发行版相比,JBoss Web 服务器通过包含集成和认证的其他组件和功能集提供了不同的优势。JBoss Web 服务器还提供更频繁的软件和安全更新。

注意

RHEL 在 RHEL 7、RHEL 8.8 或更高版本以及 RHEL 9.2 或更高版本上提供 Apache Tomcat 发布。

对于 RHEL 8.0 到 8.7 到 8.7 到 9.1,RHEL 平台订阅不提供 Apache Tomcat 的发布。在这些操作系统版本中,JBoss Web Server 是红帽提供的唯一 Apache Tomcat 发行版,作为 Middleware Runtimes 订阅的一部分提供。

Apache Tomcat 版本

考虑 JBoss Web 服务器和 RHEL 提供的 Apache Tomcat 发行版本的以下版本信息:

RHEL 提供的 Apache Tomcat 版本
  • RHEL 7 tomcat 软件包基于 Apache Tomcat 7 的社区版本。
  • RHEL 8.x 和 RHEL 9.x tomcat 软件包基于 Apache Tomcat 9 的社区版本。tomcat 软件包提供 RHEL 8.8 或更高版本,且只提供 RHEL 9.2 或更高版本。
JBoss Web 服务器提供的 Apache Tomcat 版本
  • JBoss Web Server 3.1 提供了一组 Apache Tomcat 7 和 Apache Tomcat 8,以及集成和经认证的其他组件和功能。但是,红帽不再完全支持或维护 JBoss Web Server 3.1,这目前处于延长生命周期支持(ELS)阶段 2,并计划于 2028 年 12 月 2028 年的生命周期结束日期。
  • JBoss Web Server 5.x 提供 Apache Tomcat 9 发行版,红帽完全测试并支持一组集成和经认证的其他组件和功能。红帽计划于 2024 年 7 月 31 日结束对 JBoss Web Server 5.x 的完全支持。红帽将在 2025 年 7 月 31 日前提供维护支持,并附带延长生命周期支持(ELS)阶段 1,并计划于 2027 年 7 月结束其生命周期日期。
  • JBoss Web Server 6.x 提供 Apache Tomcat 10.1 的发布,红帽完全测试并支持一组集成和经认证的其他组件和功能。

有关产品生命周期和可用支持级别的更多信息,请参阅 生命周期阶段。有关 Apache Tomcat 版本的更多信息,请参阅 红帽支持的 Apache Tomcat 版本

注意

红帽不提供对 Apache Tomcat 社区发行版本的支持。

JBoss Web 服务器和 Apache Tomcat 的 RHEL 发行版之间的区别

考虑 JBoss Web 服务器和 Apache Tomcat 的 RHEL 发行版之间的以下区别:

JBoss Web ServerApache Tomcat 的 RHEL 发行版

支持从 RHEL 版本 8 和 9 上的存档文件或 RPM 软件包安装。

注意

红帽不提供 RHEL 7 上的 JBoss Web Server 6.x 发行版。

仅支持在 RHEL 7、RHEL 8.8 和 RHEL 9.2 或更高版本上从 RPM 软件包安装。

支持从受支持的 Windows 服务器平台上的存档文件进行安装。

Not applicable

为开发人员提供了创建和部署后端 Web 应用和大型网站(可在安全稳定的环境中提供来自 Apache HTTP 服务器代理的客户端请求)的支持。

提供管理员支持在 RHEL 系统上部署和运行 Apache Tomcat 实例。

提供完全经过测试并支持的 Apache Tomcat 发行版本,包括以下集成和经认证的附加功能集合:

  • 使用 mod_proxy、mod_jkmod_ proxy _cluster 连接器,完全测试并认证与 Apache HTTP 服务器的集成,以进行 Web 客户端请求的转发和负载均衡到后端 Web 应用程序
  • Tomcat 原生库,用于改进 Apache Tomcat 可扩展性、性能和与原生服务器技术的集成
  • Tomcat Vault 扩展,用于屏蔽密码和其他敏感字符串,并将敏感信息安全地存储在加密的 Java 密钥存储中
  • mod _cluster 库,用于启用 Apache HTTP 服务器和后端 JBoss Web Server worker 节点的 mod_proxy_cluster 模块之间的通信和智能负载平衡
  • Apache Portable Runtime (APR)库,用于为 HTTP 连接器提供基于 OpenSSL 的 TLS 实现
  • 联邦信息处理标准(FIPS)合规性
  • 在 Red Hat OpenShift 环境中支持 JBoss Web Server
  • 用于管理 OpenShift 容器镜像的 JBoss Web Server Operator,并在 Red Hat OpenShift 环境中创建、配置、管理和无缝升级 Web 服务器应用程序实例
  • 使用红帽 Ansible 认证的内容集合自动安装 JBoss Web 服务器
  • 为开发人员提供支持创建和部署后端 Web 应用程序和大型网站,可在安全稳定的环境中为来自 Apache HTTP 服务器代理的客户端请求提供服务

仅提供基于社区版本的 Apache Tomcat 的标准发行版,以及不常常的软件更新。

jws-6.X.x-maven-repository.zip 文件中提供一组 Maven 存储库工件,您可以从红帽客户门户网站下载。您可以在 web 应用程序存档(WAR)文件中将这些工件用于应用程序部署项目。

Not applicable

另外,在 jws-6.X.x-maven-repository.zip 文件中包括嵌入式 Tomcat 的库,它可让您使用带有完全支持的 Apache Tomcat 版本的嵌入式 Tomcat 来构建 Web 应用程序。

Not applicable

JBoss Web 服务器和 RHEL 文档集之间的区别

JBoss Web Server 文档集比 tomcat 软件包的 RHEL 文档更全面、更全面:

  • JBoss Web 服务器包括 Red Hat JBoss Web Server 6.1.x Documentation 归档文件,其中包含 Apache Tomcat 10.1 和 Tomcat Vault 的 API 文档。您可以从红帽客户门户网站下载此存档文件。https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=webserver&downloadType=distributions
  • JBoss Web Server 产品文档页面 提供了有关以下所有类型的用例的信息:

    • 从支持的操作系统上的存档文件或 RPM 软件包执行 JBoss Web 服务器的标准安装。
    • 配置 JBoss Web 服务器以用于 Apache HTTP 服务器连接器和负载平衡器,如 mod_jkmod_proxy_cluster
    • 使用 Red Hat Ansible 认证的内容集合启用 JBoss Web 服务器的自动安装。
    • 在 Red Hat OpenShift 环境中使用 JBoss Web Server。
    • 安装并使用 JBoss Web Server Operator for OpenShift.
    • 配置 JBoss Web 服务器以支持 HTTP/2 协议、Tomcat Vault 和 FIPS 合规性等功能。

1.3. JBoss Web 服务器操作系统和配置

Red Hat JBoss Web Server 支持 Red Hat Enterprise Linux 和 Windows Server 操作系统的不同版本。

1.4. JBoss Web Server 安装方法

您可以使用每个平台可用的归档安装文件在受支持的 Red Hat Enterprise Linux 和 Windows Server 系统上安装 Red Hat JBoss Web Server。您还可以使用 RPM 软件包在受支持的 Red Hat Enterprise Linux 系统上安装 JBoss Web 服务器。

归档安装文件中包含以下组件。这些组件是 JBoss Web 服务器安装的核心部分。

  • jws-6.1.0-application-server.zip

    • Apache Tomcat 10.1
    • mod_cluster
    • Tomcat vault
  • jws-6.1.0-optional-native-components-<platform>-<architecture>.zip

    • 平台相关工具

1.5. JBoss Web Server 组件文档捆绑包

JBoss Web 服务器包括附加文档捆绑包,其中包含每个组件的原始供应商文档。您可以从红帽客户门户网站下载本文档 bundle, jws-6.1.0-docs.ziphttp://access.redhat.com

文档捆绑包包含以下组件的额外文档:

  • Apache Tomcat
  • Tomcat 原生库
  • Tomcat vault

第 2 章 从存档文件在 Red Hat Enterprise Linux 上安装 JBoss Web Server

您可以从存档文件或 RPM 软件包在 Red Hat Enterprise Linux (RHEL)上安装 JBoss Web 服务器。如果要从存档文件安装 JBoss Web 服务器,您可以 从红帽客户门户下载 并提取 JBoss Web Server 归档文件。

从存档文件安装 JBoss Web 服务器时,您可以以不同的方式管理该产品。例如,您可以在系统启动时使用系统守护进程,或者从命令行管理 JBoss Web 服务器。

注意

您可以在 RHEL 版本 8 和 9 上安装 JBoss Web 服务器。红帽不提供用于 RHEL 7 系统的 JBoss Web Server 6.x 发行版。

2.1. 先决条件

  • 已使用 DNF 软件包管理器或从压缩存档安装了受支持的 Java Development Kit (JDK)。
  • 您的系统符合 Red Hat Enterprise Linux 软件包要求。

2.1.1. 使用 DNF 软件包管理器安装 JDK

您可以使用 DNF 软件包管理器安装 Java Development Kit (JDK)。有关支持的 JDK 的完整列表,请参阅 JBoss Web 服务器操作系统和配置

注意

这个步骤描述了如何安装 OpenJDK。如果要安装 Oracle JDK,请参阅 Oracle 文档以了解更多信息。

流程

  1. 将 Red Hat Enterprise Linux 系统订阅到适当的频道:

    • rhel-8-server-rpms
    • rhel-9-server-rpms
  2. 要安装支持的 JDK 版本,请以 root 用户身份输入以下命令:

    # dnf install java-<version>-openjdk-headless
    Copy to Clipboard

    在前面的命令中,将 java- <version> 替换为 java-11,java-17, 或 java-21

    注意

    JBoss Web Server 6.x 不支持 OpenJDK 8。

  3. 要确保使用了正确的 JDK,请以 root 用户身份运行以下命令:

    # alternatives --config java
    Copy to Clipboard

    前面的命令返回带有加号(+)符号标记的可用 JDK 版本列表。如果所选的 JDK 不是所需的 JDK,根据 shell 提示符中的指示更改为所需的 JDK。

    重要

    所有使用 java 命令的软件都使用由 alternatives 设定的 JDK。更改的 Java 替代方案可能会影响其他软件的运行。

2.1.2. 从压缩的归档安装 JDK

您可以从压缩的归档(如 .zip.tar 文件)安装 Java Development Kit (JDK)。有关支持的 JDK 的完整列表,请参阅 JBoss Web 服务器操作系统和配置

流程

  1. 如果您从厂商的网站(Oracle 或 OpenJDK)下载 JDK,请使用厂商提供的安装说明并设置 JAVA_HOME 环境变量。
  2. 如果您从压缩存档安装 JDK,请为 Tomcat 设置 JAVA_HOME 环境变量:

    1. 在 Tomcat 的 bin 目录中(JWS_HOME/tomcat/bin),创建一个名为 setenv.sh 的文件。
    2. setenv.sh 文件中,输入 JAVA_HOME 路径定义。例如:

      $ cat JWS_HOME/tomcat/bin/setenv.sh
      
      export JAVA_HOME=/usr/lib/jvm/jre-<version>-openjdk.x86_64
      Copy to Clipboard

      在前面的示例中,将 jre- &lt;version& gt; 替换为 jre-11jre-17jre-21

2.1.3. Red Hat Enterprise Linux 软件包要求

在 Red Hat Enterprise Linux 上安装 JBoss Web Server 前,您必须确保您的系统符合以下软件包要求。

  • 在 Red Hat Enterprise Linux 8 或 9 上,如果要使用 OpenSSL 或 Apache Portable Runtime (APR),您必须安装 openssl 和 Red Hat Enterprise Linux 提供的 apr 软件包。

    • 要安装 openssl 软件包,请以 root 用户身份输入以下命令:

      # dnf install openssl
      Copy to Clipboard
    • 要安装 apr 软件包,请以 root 用户身份输入以下命令:

      # dnf install apr
      Copy to Clipboard
  • 在安装 tomcat-native 软件包前,您必须删除 tomcatjss 软件包。tomcatjss 软件包使用底层网络安全服务(NSS)安全模型而不是 OpenSSL 安全模型。

    要删除 tomcatjss 软件包,请以 root 用户身份运行以下命令:

    # dnf remove tomcatjss
    Copy to Clipboard

2.2. 为 JBoss Web 服务器的基本发行版本下载和提取存档文件

基本版本是 特定产品版本的初始版本(如 6.1.0 是版本 6.1 的基础版本)。您可以从红帽客户门户网站上的 软件下载页面 下载 JBoss Web Server 归档文件。

先决条件

步骤

  1. 打开浏览器并登录 红帽客户门户
  2. Downloads 选项卡。
  3. 从 Product Downloads 列表中,选择 Red Hat JBoss Web Server
  4. 在 Software Downloads 页面上,从 Version 下拉列表中选择适当的 JBoss Web Server 版本。
  5. Red Hat JBoss Web Server 6.1.0 Application Server 文件旁边的 Download

    下载的文件在本地主机上命名为 jws-6.1.0-application-server.zip

  6. 如果您还想下载适用于您的操作系统的原生 JBoss Web Server 组件,请点击 Red Hat JBoss Web Server 6.1.0 Optional Native Components for < platform> < architecture&gt ; 文件旁边的 Download。在这种情况下,请确保选择与系统的平台和架构匹配的正确文件。

    下载的文件名为 jws-6.1.0-optional-native-components- <platform>- &lt;architecture > .zip (例如: jws-6.1.0-optional-native-components-RHEL8-x86_64.zip)。

  7. 将下载的存档文件提取到您的安装目录中。

    例如:

    # unzip jws-6.1.0-application-server.zip -d /opt/
    # unzip -o jws-6.1.0-optional-native-compoonents-<platform>-<architecture>.zip -d /opt/
    Copy to Clipboard

JBoss Web 服务器的顶级目录是在提取存档时创建的。本文档将 JBoss Web Server 的顶级目录称为 JWS_HOME

2.3. 为 JBoss Web 服务器补丁更新下载和提取存档文件

如果产品补丁更新可用于适当的 JBoss Web 服务器版本,您可以为最新的累积补丁安装存档文件。您可以从红帽客户门户网站上的 软件下载页面 下载 JBoss Web Server 归档文件。

重要

您不能使用 累积补丁更新来安装产品版本的基本版本(X.X.0)。例如,安装 6.1.2 补丁将安装 6.1.1 和 6.1.2 版本,但无法安装基本的 6.1.0 版本。

服务包的发布是累计的。通过下载最新的服务包版本,您还可以自动安装任何以前的服务包版本。

流程

  1. 打开浏览器并登录 红帽客户门户
  2. Downloads 选项卡。
  3. 从 Product Downloads 列表中,选择 Red Hat JBoss Web Server
  4. 在 Software Downloads 页面上,从 Version 下拉列表中选择适当的 JBoss Web Server 版本。
  5. Patches 选项卡。
  6. 单击最新 Red Hat JBoss Web Server 6.1 Update XX Application Server 文件旁边的 Download

    下载的文件在本地主机上命名为 jws-6.1.x-application-server.zip

  7. 如果您还想下载适用于您的操作系统的原生 JBoss Web 服务器组件,请点击最新 Red Hat JBoss Web Server 6.1 Update XX Optional Native Components for < platform> < architecture&gt ; 文件旁边的 Download。在这种情况下,请确保选择与系统的平台和架构匹配的正确文件。

    下载的文件名为 jws-6.1.x-optional-native-components- <platform>-<architecture > .zip (如 jws-6.1.x-optional-native-components-RHEL8-x86_64.zip)。

  8. 将下载的存档文件提取到您的安装目录中。

    例如:

    # unzip jws-6.1.x-application-server.zip -d /opt/
    # unzip -o jws-6.1.x-optional-native-compoonents-<platform>-<architecture>.zip -d /opt/
    Copy to Clipboard

2.4. 从存档文件安装时使用 systemd 管理 JBoss Web 服务器

当您从 Red Hat Enterprise Linux 上的存档文件安装 JBoss Web 服务器时,您可以使用系统守护进程执行管理任务。将 JBoss Web Server 与系统守护进程一起使用提供了一种在系统启动时启动 JBoss Web Server 服务的方法。系统守护进程还提供 start、stop 和 status 检查功能。

在 Red Hat Enterprise Linux 版本 8 和 9 中,默认的系统守护进程是 systemd

步骤

  1. 要确定哪个系统守护进程正在运行,请输入以下命令:

    $ ps -p 1 -o comm=
    Copy to Clipboard

    如果 systemd 正在运行,则会显示以下输出:

    systemd
    Copy to Clipboard
  2. 要为 systemd 设置 JBoss Web 服务器,以 root 用户身份运行 .postinstall.systemd 脚本:

    # cd JWS_HOME/tomcat
    # sh .postinstall.systemd
    Copy to Clipboard
  3. 要使用 systemd 控制 JBoss Web 服务器,您可以以 root 用户身份执行以下步骤:

    • 使用 systemd 使 JBoss Web Server 服务在系统启动时启动:

      # systemctl enable jws6-tomcat.service
      Copy to Clipboard
    • 使用 systemd 启动 JBoss Web 服务器:

      # systemctl start jws6-tomcat.service
      Copy to Clipboard
      注意

      现在,基于归档文件安装的 JBoss Web 服务器配置已弃用 SECURITY_MANAGER 变量。请考虑以下弃用注释:

      # 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\"""
      Copy to Clipboard
    • 使用 systemd 停止 JBoss Web 服务器:

      # systemctl stop jws6-tomcat.service
      Copy to Clipboard
    • 使用 systemd 验证 JBoss Web 服务器的状态:

      # systemctl status jws6-tomcat.service
      Copy to Clipboard
      注意

      任何用户都可以运行 status 操作。

2.5. 用于从命令行管理归档安装的 JBoss Web 服务器配置

当您从 Red Hat Enterprise Linux 上的存档文件安装 JBoss Web Server 时,您可以直接从命令行启动和停止 JBoss Web Server。在从命令行运行 JBoss Web 服务器前,您必须执行以下一系列配置任务:

  • 为 Tomcat 设置 JAVA_HOME 环境变量。
  • 创建 tomcat 用户及其父组。
  • 授予 tomcat 用户对 JBoss Web Server 的访问权限。
注意

当您使用 系统守护进程而不是从命令行管理 JBoss Web 服务器时,.postinstall.systemd 脚本会自动执行这些配置步骤。

2.5.1. 为 Apache Tomcat 设置 JAVA_HOME 环境变量

首次从命令行运行 JBoss Web Server 之前,您必须为 Apache Tomcat 设置 JAVA_HOME 环境变量。

步骤

  1. 在命令行中,进入 JWS_HOME/tomcat/bin 目录。
  2. 创建名为 setenv.sh 的文件。
  3. setenv.sh 文件中,输入 JAVA_HOME 路径定义。

    例如:

    export JAVA_HOME=/usr/lib/jvm/jre-11-openjdk.x86_64
    Copy to Clipboard

2.5.2. 创建 Tomcat 用户和组

首次从命令行运行 JBoss Web 服务器前,您必须创建一个 tomcat 用户帐户和用户组,以启用简单和安全的用户管理。在 Red Hat Enterprise Linux 中,tomcat 用户以及 tomcat 组的用户标识器(UID)和组标识符(GID)均保留值为 53

注意

您必须以 root 用户身份执行此流程中的所有步骤。

步骤

  1. 在命令行中,进入 JWS_HOME 目录。
  2. 创建 tomcat 用户组:

    # groupadd -g 53 -r tomcat
    Copy to Clipboard
  3. tomcat 用户组中创建 tomcat 用户:

    # useradd -c "tomcat" -u 53 -g tomcat -s /sbin/nologin -r tomcat
    Copy to Clipboard

前面的命令同时将 UID 和 GID 设置为 53。如果您随后想要更改 UID 和 GID 值,请参阅 更改 tomcat 用户和组的 UID 和 GID

2.5.3. 授予 Tomcat 用户访问 JBoss Web 服务器

首次从命令行运行 JBoss Web 服务器前,您必须通过将 Tomcat 目录的所有权分配给 tomcat 用户来授予 tomcat 用户访问 JBoss Web 服务器。

注意

您必须以 root 用户身份执行此流程中的所有步骤。

步骤

  1. 进入 JWS_HOME 目录。
  2. 将 Tomcat 目录的所有权分配给 tomcat 用户:

    # chown -R tomcat:tomcat tomcat/
    Copy to Clipboard
  3. 确保 tomcat 用户具有所有父目录的执行权限:

    # chmod -R u+X tomcat/
    Copy to Clipboard

验证

  • 验证 tomcat 用户是目录的所有者:

    # ls -l
    Copy to Clipboard

2.6. 从存档文件安装时,从命令行启动 JBoss Web Server

当您从 Red Hat Enterprise Linux 上的存档文件安装 JBoss Web Server 时,您可以直接从命令行启动 JBoss Web Server。

步骤

  • tomcat 用户身份输入以下命令:

    $ sh JWS_HOME/tomcat/bin/startup.sh
    Copy to Clipboard

2.7. 从存档文件安装时,从命令行停止 JBoss Web Server

当您从 Red Hat Enterprise Linux 上的存档文件安装 JBoss Web Server 时,您可以直接从命令行停止 JBoss Web Server。

先决条件

步骤

  • tomcat 用户身份输入以下命令:

    $ sh JWS_HOME/tomcat/bin/shutdown.sh
    Copy to Clipboard

2.8. JBoss Web 服务器的 SELinux 策略

您可以使用 Security-Enhanced Linux (SELinux)策略来定义 JBoss Web 服务器的访问控制。这些策略是一组规则,用于决定产品的访问权限。

2.8.1. jws6-tomcat的 SELinux 策略信息

SELinux 安全模型由内核实施,并确保应用程序对资源(如文件系统位置和端口)具有有限的访问权限。SELinux 策略可确保任何被破坏或配置不当的进程都被限制或阻止运行。

JBoss Web 服务器安装中的 jws6-tomcat-selinux 软件包提供了一个 jws6_tomcat 策略。下表包含有关提供的 SELinux 策略的信息。

表 2.1. RPM 和默认 SELinux 策略
Name端口信息策略信息

jws6_tomcat

http_port_t 中的四个端口(TCP 端口 8080800580098443)以允许 tomcat 进程使用它们

已安装 jws6_tomcat 策略,它会在 Tomcat 执行时为进程设置适当的 SELinux 域。它还设置适当的上下文,以允许 Tomcat 写入以下目录:

  • /var/opt/rh/jws6/lib/tomcat
  • /var/opt/rh/jws6/log/tomcat
  • /var/opt/rh/jws6/cache/tomcat
  • /var/opt/rh/jws6/run/tomcat.pid

2.8.2. 为 JBoss Web Server 归档安装安装 SELinux 策略

在这个发行版本中,归档软件包提供 SELinux 策略。jws-6.1.0-application-server- <platform>- <architecture>.zip 归档的 tomcat 文件夹包括 .postinstall.selinux 文件。如果需要,您可以运行 .postinstall.selinux 脚本。

步骤

  1. 安装 selinux-policy-devel 软件包:

    dnf install -y selinux-policy-devel
    Copy to Clipboard
  2. 运行 .postinstall.selinux 脚本:

    cd <JWS_home>/tomcat/
    sh .postinstall.selinux
    Copy to Clipboard
  3. 为 JBoss Web 服务器所需的端口添加访问权限:

    semanage port -a -t http_port_t -p tcp <port>
    Copy to Clipboard
    注意

    JBoss Web 服务器有权访问 Red Hat Enterprise Linux 系统上的端口 80808009、884438005

    当 JBoss Web 服务器需要额外的端口时,请使用前面的 semanage 命令提供所需的权限,并将 < port&gt; 替换为所需的端口。

  4. 启动 Tomcat :

    <JWS_home>/tomcat/bin/startup.sh
    Copy to Clipboard
  5. 检查希望 jws6_tomcat 的正在运行的进程的上下文:

    ps -eo pid,user,label,args | grep jws6_tomcat | head -n1
    Copy to Clipboard
  6. 验证 Tomcat 目录的上下文。例如:

    ls -lZ <JWS_home>/tomcat/logs/
    Copy to Clipboard
注意

默认情况下,JBoss Web 服务器提供的 SElinux 策略不是活跃的,Tomcat 进程在 unconfined_java_t 域中运行。这个域不会限制进程。

如果您选择不启用提供的 SELinux 策略,您可以执行以下操作:

  • 限制 tomcat 用户的文件访问权限,以便 tomcat 用户只能访问 JBoss Web 服务器运行时所需的文件和目录。
  • 不要以 root 用户身份运行 Tomcat。
注意

从存档文件安装 JBoss Web 服务器时,红帽不正式支持使用网络文件共享(NFS)。如果您希望 JBoss Web 服务器安装使用 NFS 挂载的文件系统,您需要确保正确修改 SELinux 策略来支持此类部署。

2.9. 更改 tomcat 用户和组的 UID 和 GID

在 Red Hat Enterprise Linux 中,tomcat 用户以及 tomcat 组的用户标识器(UID)和组标识符(GID)均保留值为 53。根据您的设置要求,您可以将 tomcat 用户和组的 UID 和 GID 更改为其他值。

警告

为了避免 SELinux 冲突,请使用小于 500 的 UID 和 GID 值。如果 SELinux 设置为 enforcing 模式,则大于 500 的 UID 和 GID 值可能会导致意外问题。

流程

  1. 如果 JBoss Web Server 已在运行,以 tomcat 用户身份停止 JBoss Web Server。如需更多信息,请参阅从 存档文件安装时从命令行停止 JBoss Web Server
  2. 要查看 tomcat 用户和组的当前 UID 和 GID,请以 root 用户身份输入以下命令:

    id tomcat
    Copy to Clipboard

    前面的命令显示用户帐户和组详细信息。例如:

    uid=53(tomcat) gid=53(tomcat) groups=53(tomcat)
    Copy to Clipboard
  3. 要为 tomcat 组分配一个新的 GID,请以 root 用户身份输入以下命令:

    groupmod -g <new_gid> tomcat
    Copy to Clipboard

    例如:

    groupmod -g 410 tomcat
    Copy to Clipboard
  4. 要为 tomcat 用户分配一个新的 UID,请以 root 用户身份输入以下命令:

    usermod -u <new_uid> -g <new_gid> tomcat
    Copy to Clipboard

    例如:

    usermod -u 401 -g 410 tomcat
    Copy to Clipboard
  5. 要将文件和目录权限重新分配给新 UID,请以 root 用户身份输入以下命令:

    # find / -not -path '/proc*' -uid <original_uid> | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown($ug,-1,$fn);chmod($m,$fn)}' <new_uid>
    Copy to Clipboard

    在前面的命令中,将 < original_uid> 替换为旧的 UID,并将 & lt;new_uid& gt; 替换为新 UID。例如,要将文件和目录权限从 UID 53 重新分配给 UID 401,请输入以下命令:

    # find / -not -path '/proc*' -uid 53 | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown($ug,-1,$fn);chmod($m,$fn)}' 401
    Copy to Clipboard
  6. 要将文件和目录权限重新分配给新的 GID,请以 root 用户身份输入以下命令:

    # find / -not -path '/proc*' -gid <original_gid> | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown(-1,$ug,$fn);chmod($m,$fn)}' <new_gid>
    Copy to Clipboard

    在前面的命令中,将 < original_gid> 替换为旧的 GID,并将 &lt ;new_gid& gt; 替换为新的 GID。例如,要将文件和目录权限从 GID 53 重新分配给 GID 410,请输入以下命令:

    # find / -not -path '/proc*' -gid 53 | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown(-1,$ug,$fn);chmod($m,$fn)}' 410
    Copy to Clipboard
  7. 要以 tomcat 用户身份重启 JBoss Web Server,请参阅 从存档文件 安装时从命令行启动 JBoss Web Server。

第 3 章 从 RPM 软件包在 Red Hat Enterprise Linux 上安装 JBoss Web Server

您可以从存档文件或 RPM 软件包在 Red Hat Enterprise Linux (RHEL)上安装 JBoss Web 服务器。如果要从 RPM 软件包安装 JBoss Web 服务器,则 Red Hat Subscription Management 提供了安装软件包。

从 RPM 软件包安装 JBoss Web 服务器将 Tomcat 部署为服务,并将 Tomcat 资源安装到绝对路径中。

注意

您可以在 RHEL 版本 8 和 9 上安装 JBoss Web 服务器。红帽不提供用于 RHEL 7 系统的 JBoss Web Server 6.x 发行版。

3.1. 先决条件

  • 已使用 DNF 软件包或从压缩存档安装受支持的 Java Development Kit (JDK)。
  • 您的系统符合 Red Hat Enterprise Linux 软件包要求。

3.1.1. 使用 DNF 软件包管理器安装 JDK

您可以使用 DNF 软件包管理器安装 Java Development Kit (JDK)。有关支持的 JDK 的完整列表,请参阅 JBoss Web 服务器操作系统和配置

注意

这个步骤描述了如何安装 OpenJDK。如果要安装 Oracle JDK,请参阅 Oracle 文档以了解更多信息。

流程

  1. 将 Red Hat Enterprise Linux 系统订阅到适当的频道:

    • rhel-8-server-rpms
    • rhel-9-server-rpms
  2. 要安装支持的 JDK 版本,请以 root 用户身份输入以下命令:

    # dnf install java-<version>-openjdk-headless
    Copy to Clipboard

    在前面的命令中,将 java- <version> 替换为 java-11,java-17, 或 java-21

    注意

    JBoss Web Server 6.x 不支持 OpenJDK 8。

  3. 要确保使用了正确的 JDK,请以 root 用户身份运行以下命令:

    # alternatives --config java
    Copy to Clipboard

    前面的命令返回带有加号(+)符号标记的可用 JDK 版本列表。如果所选的 JDK 不是所需的 JDK,根据 shell 提示符中的指示更改为所需的 JDK。

    重要

    所有使用 java 命令的软件都使用由 alternatives 设定的 JDK。更改的 Java 替代方案可能会影响其他软件的运行。

3.1.2. 从压缩的归档安装 JDK

您可以从压缩的归档(如 .zip.tar 文件)安装 Java Development Kit (JDK)。有关支持的 JDK 的完整列表,请参阅 JBoss Web 服务器操作系统和配置

流程

  1. 如果您从厂商的网站(Oracle 或 OpenJDK)下载 JDK,请使用厂商提供的安装说明并设置 JAVA_HOME 环境变量。
  2. 如果您从压缩存档安装 JDK,请为 Tomcat 设置 JAVA_HOME 环境变量:

    1. 在 Tomcat 的 bin 目录中(JWS_HOME/tomcat/bin),创建一个名为 setenv.sh 的文件。
    2. setenv.sh 文件中,输入 JAVA_HOME 路径定义。例如:

      $ cat JWS_HOME/tomcat/bin/setenv.sh
      
      export JAVA_HOME=/usr/lib/jvm/jre-<version>-openjdk.x86_64
      Copy to Clipboard

      在前面的示例中,将 jre- &lt;version& gt; 替换为 jre-11jre-17jre-21

3.1.3. Red Hat Enterprise Linux 软件包要求

在 Red Hat Enterprise Linux 上安装 JBoss Web Server 前,您必须确保您的系统符合以下软件包要求。

  • 在 Red Hat Enterprise Linux 8 或 9 上,如果要使用 OpenSSL 或 Apache Portable Runtime (APR),您必须安装 openssl 和 Red Hat Enterprise Linux 提供的 apr 软件包。

    • 要安装 openssl 软件包,请以 root 用户身份输入以下命令:

      # dnf install openssl
      Copy to Clipboard
    • 要安装 apr 软件包,请以 root 用户身份输入以下命令:

      # dnf install apr
      Copy to Clipboard
  • 在安装 tomcat-native 软件包前,您必须删除 tomcatjss 软件包。tomcatjss 软件包使用底层网络安全服务(NSS)安全模型而不是 OpenSSL 安全模型。

    要删除 tomcatjss 软件包,请以 root 用户身份运行以下命令:

    # dnf remove tomcatjss
    Copy to Clipboard

3.2. 将订阅附加到 Red Hat Enterprise Linux

在为 JBoss Web 服务器下载并安装 RPM 软件包前,您必须使用 Red Hat Subscription Management 注册您的系统,并订阅相应的 Content Delivery Network (CDN)存储库。之后,您可以执行一些验证步骤,以确保订阅提供所需的 CDN 存储库。

流程

  1. 登录到 Red Hat Subscription Management 网页。
  2. Systems 选项卡。
  3. 点击您要添加订阅的系统的 Name
  4. Details 选项卡更改为 Subscriptions 选项卡,然后单击 Attach Subscriptions
  5. 选中您要附加的订阅旁边的复选框,然后单击 Attach Subscriptions

验证

  1. 登录到 Red Hat Subscriptions 网页。
  2. Subscription Name 列中,点击您要选择的订阅。
  3. 在 Provided 下,您需要以下任一操作:

    • JBoss Enterprise Web Server
    • Red Hat JBoss Core Services

3.3. 使用 DNF 从 RPM 软件包安装 JBoss Web Server

您可以使用 DNF 软件包管理器从 Red Hat Enterprise Linux 上的 RPM 软件包安装 JBoss Web Server。

流程

  1. 要为您的操作系统版本订阅 JBoss Web Server CDN 软件仓库,请输入以下命令:

    # subscription-manager repos --enable <repository>
    Copy to Clipboard
    注意

    在前面的命令中,将 < repository& gt; 替换为以下值:

    • 在 Red Hat Enterprise Linux 8 中,将 <repository > 替换为 jws-6-for-rhel-8-x86_64-rpms
    • 在 Red Hat Enterprise Linux 9 上,将 <repository > 替换为 jws-6-for-rhel-9-x86_64-rpms
  2. 要安装 JBoss Web 服务器,请以 root 用户身份输入以下命令:

    # dnf groupinstall jws6
    Copy to Clipboard
    重要

    从 RPM 软件包安装 JBoss Web 服务器时,JWS_HOME 文件夹是 /opt/rh/jws6/root/usr/share

注意
  • 您可以单独安装每个软件包及其依赖项,而不是使用 groupinstall 命令。首选方法是使用 groupinstall
  • 启用使用 Software Collection 启用 NFS 使用的功能。有关此功能的更多信息,请参阅 打包指南:通过 NFS 使用 Software Collections

3.4. 从 RPM 安装时启动 JBoss Web Server

从 RPM 软件包安装 JBoss Web 服务器时,您可以使用命令行启动 JBoss Web Server。之后,您可以查看 service status 命令的输出,以验证 Tomcat 是否已成功运行。

流程

  • 以 root 用户身份输入以下命令:

    # systemctl start jws6-tomcat.service
    Copy to Clipboard
    注意

    这是为 RPM 安装启动 JBoss Web Server 的唯一方法。

验证

  • 要验证 Tomcat 是否正在运行,请以任何用户身份输入以下命令:

    # systemctl status jws6-tomcat.service
    Copy to Clipboard

3.5. 从 RPM 安装时停止 JBoss Web 服务器

从 RPM 软件包安装 JBoss Web 服务器时,您可以使用命令行停止 JBoss Web 服务器。之后,您可以查看 service status 命令的输出,以验证 Tomcat 是否已成功运行。

流程

  • 以 root 用户身份输入 followng 命令:

    # systemctl stop jws6-tomcat.service
    Copy to Clipboard

验证

  • 要验证 Tomcat 不再运行,请以任意用户身份输入以下命令:

    # systemctl status jws6-tomcat.service
    Copy to Clipboard

3.6. 将 JBoss Web Server 服务配置为在系统启动时启动

从 RPM 软件包安装 JBoss Web 服务器时,您可以将 JBoss Web Server 服务配置为在系统启动时启动。

步骤

  • 输入以下命令:

    # systemctl enable jws6-tomcat.service
    Copy to Clipboard

3.7. JBoss Web 服务器的 SELinux 策略

您可以使用 Security-Enhanced Linux (SELinux)策略来定义 JBoss Web 服务器的访问控制。这些策略是一组规则,用于决定产品的访问权限。

3.7.1. jws6-tomcat的 SELinux 策略信息

SELinux 安全模型由内核实施,并确保应用程序对资源(如文件系统位置和端口)具有有限的访问权限。SELinux 策略可确保任何被破坏或配置不当的进程都被限制或阻止运行。

JBoss Web 服务器安装中的 jws6-tomcat-selinux 软件包提供了一个 jws6_tomcat 策略。下表包含有关提供的 SELinux 策略的信息。

表 3.1. RPM 和默认 SELinux 策略
Name端口信息策略信息

jws6_tomcat

http_port_t 中的四个端口(TCP 端口 8080800580098443)以允许 tomcat 进程使用它们

已安装 jws6_tomcat 策略,它会在 Tomcat 执行时为进程设置适当的 SELinux 域。它还设置适当的上下文,以允许 Tomcat 写入以下目录:

  • /var/opt/rh/jws6/lib/tomcat
  • /var/opt/rh/jws6/log/tomcat
  • /var/opt/rh/jws6/cache/tomcat
  • /var/opt/rh/jws6/run/tomcat.pid

3.7.2. 为 JBoss Web Server RPM 安装启用 SELinux 策略

从 RPM 软件包安装 JBoss Web 服务器时,jws6-tomcat-selinux 软件包为 JBoss Web Server 提供 SELinux 策略。这些软件包包括在 JBoss Web Server 频道中。

流程

  1. 安装 jws6-tomcat-selinux 软件包:

    dnf install -y jws6-tomcat-selinux
    Copy to Clipboard

第 4 章 在 Windows Server 上安装 JBoss Web Server

您可以从一组 可从红帽客户门户 下载的存档文件在 Windows Server 上安装 JBoss Web Server。

4.1. 在 Windows Server 上安装 JDK

在 Windows Server 上安装 JBoss Web Server 前,您必须首先安装 Java Development Kit (JDK)。

您可以从受支持的供应商网站(如 Oracle)下载并安装 JDK。有关支持的 JDK 列表,请参阅支持的操作系统和配置

注意

这个步骤描述了如何安装 Oracle JDK。

步骤

  1. 要访问 Oracle 网站,请打开一个浏览器窗口并输入以下 URL:

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

  2. 为您的操作系统和架构下载 Oracle JDK。
  3. 双击下载的文件来开始安装。
  4. 按照安装窗口中的指示进行。

4.2. 为 JBoss Web 服务器的基本发行版本下载和提取存档文件

基本版本是 特定产品版本的初始版本(如 6.1.0 是版本 6.1 的基础版本)。您可以从红帽客户门户网站上的 软件下载页面 下载 JBoss Web Server 归档文件。

流程

  1. 打开浏览器并登录 红帽客户门户
  2. Downloads 选项卡。
  3. 从 Product Downloads 列表中,选择 Red Hat JBoss Web Server
  4. 在 Software Downloads 页面上,从 Version 下拉列表中选择适当的 JBoss Web Server 版本。
  5. Red Hat JBoss Web Server 6.1.0 Application Server 文件旁边的 Download

    下载的文件在本地主机上命名为 jws-6.1.0-application-server.zip

  6. 如果您还想下载适用于您的操作系统的原生 JBoss Web Server 组件,请单击 Red Hat JBoss Web Server 6.1.0 Optional Native Components for Windows x86_64 文件旁边的 Download

    下载的文件名为 jws-6.1.0-optional-native-components-win6-x86_64.zip

  7. 将下载的存档文件提取到您的安装文件夹。

JBoss Web 服务器的顶级文件夹在提取存档时创建。本文档将 JBoss Web Server 的顶级文件夹称为 JWS_HOME

4.3. 为 JBoss Web 服务器补丁更新下载和提取存档文件

如果产品补丁更新可用于适当的 JBoss Web 服务器版本,您可以为最新的累积补丁安装存档文件。您可以从红帽客户门户网站上的 软件下载页面 下载 JBoss Web Server 归档文件。

重要

您不能使用 累积补丁更新来安装产品版本的基本版本(X.X.0)。例如,安装 6.1.2 补丁将安装 6.1.1 和 6.1.2 版本,但无法安装基本的 6.1.0 版本。

服务包的发布是累计的。通过下载最新的服务包版本,您还可以自动安装任何以前的服务包版本。

流程

  1. 打开浏览器并登录 红帽客户门户
  2. Downloads 选项卡。
  3. 从 Product Downloads 列表中,选择 Red Hat JBoss Web Server
  4. 在 Software Downloads 页面上,从 Version 下拉列表中选择适当的 JBoss Web Server 版本。
  5. Patches 选项卡。
  6. 单击最新 Red Hat JBoss Web Server 6.1 Update XX Application Server 文件旁边的 Download

    下载的文件在本地主机上命名为 jws-6.1.x-application-server.zip

  7. 如果您还想下载适用于您的操作系统的原生 JBoss Web 服务器组件,请单击最新 Red Hat JBoss Web Server 6.1 Update XX Optional Native Components for Windows x86_64 文件旁边的 Download

    下载的文件名为 jws-6.1.x-optional-native-components-win6-x86_64.zip

  8. 将下载的存档文件提取到您的安装文件夹。

4.4. Windows Server 上的 JBoss Web 服务器配置

当您在 Windows Server 上安装 JBoss Web Server 时,您可以从命令提示符或使用计算机管理工具管理 JBoss Web Server。

在 Windows Server 上运行 JBoss Web Server 前,您必须执行以下一系列配置任务:

4.4.1. 在 Windows 服务器上为 JBoss Web Server 设置环境变量

在 Windows 服务器上第一次运行 JBoss Web 服务器前,您必须设置 JAVA_HOMETMPTEMP 环境变量。您还必须更新 PATH 环境变量。

步骤

  1. 登录到具有本地管理员权限的帐户。
  2. Control Panel > System
  3. 单击 Advanced 选项卡。
  4. Environment Variables 按钮。
  5. 单击 System Variables 的新 按钮。
  6. 对于 JAVA_HOMETMPTEMP,请为您的系统输入适当的 name-value 对。
  7. 要启用 SSL Connector 正常工作,请将 JWS_HOME\bin 添加到服务将在其中运行的用户的 PATH 环境变量中。

    注意

    默认情况下,服务在 SYSTEM 用户下运行。

4.4.2. 在 Windows 服务器中安装 Tomcat 服务

在 Windows Server 上第一次运行 JBoss Web Server 之前,您必须安装 Tomcat 服务。

步骤

  1. 打开具有管理员权限的命令提示符,并进入 Tomcat 版本的 bin 文件夹:

    cd /D "JWS_HOME\tomcat\bin"
    Copy to Clipboard
  2. 安装 Tomcat 服务:

    call service.bat install
    Copy to Clipboard

4.4.3. 为 Windows Server 上的 JBoss Web Server 服务配置文件夹权限

在 Windows Server 上第一次运行 JBoss Web Server 之前,您必须为 JBoss Web Server 服务配置文件夹权限。配置文件夹权限可确保用于运行 JBoss Web Server 服务的帐户对 JWS_HOME 文件夹及其所有子文件夹具有完全控制。

步骤

  1. 右键单击 JWS_HOME 文件夹,再单击 属性
  2. 选择 Security 选项卡。
  3. Edit 按钮。
  4. 点击 Add 按钮。
  5. 在文本框中,输入 LOCAL SERVICE
  6. LOCAL SERVICE 帐户选择 Full Control 复选框。
  7. 确定
  8. 单击 Advanced 按钮。
  9. Advanced Security Settings 对话框中,选择 LOCAL SERVICE 并点 Change permissions
  10. 选择 替换为此对象选项中可继承权限条目替换所有子对象权限条目 旁边的复选框。
  11. 在所有打开文件夹属性窗口点 OK 以应用设置。

4.5. 在 Windows Server 上启动 JBoss Web Server

当您在 Windows Server 上安装 JBoss Web Server 时,您可以使用命令提示符或计算机管理工具启动 Tomcat 服务。

步骤

  • 执行以下步骤:

    • 以管理员身份打开命令提示,并输入以下命令:

      net start tomcat10
      Copy to Clipboard
    • Start > Administrative Tools > Services,右键点击 Tomcat10 服务,然后点 Start
注意

有些第三方应用程序将库添加到 Windows Server 中的系统目录中。这些第三方库在查找过程中优先于 Tomcat 库。如果第三方库的名称与 Tomcat 原生库的名称相同,系统会加载第三方库,而不是与 JBoss Web 服务器分发的库。在这种情况下,Tomcat 可能无法成功启动,Tomcat 不会记录 Windows Server Event Log 或 Tomcat 日志文件中的任何错误消息。

如果发生此行为,您可以执行以下步骤:

  • 要查看错误,请运行 catalina.bat run 命令。
  • 检查 C:\windows\System32\ 目录和其他 PATH 目录的内容。
  • 确保动态链接库(DLL)与 JBoss Web Server 库不冲突。特别是,查找 libeay32.dllssleay32.dlllibssl32.dll 库。

4.6. 在 Windows Server 上停止 JBoss Web Server

当您在 Windows Server 上安装 JBoss Web Server 时,您可以使用命令提示符或计算机管理工具停止 Tomcat 服务。

步骤

  • 执行以下步骤:

    • 以管理员身份打开命令提示,并输入以下命令:

      net stop tomcat10
      Copy to Clipboard
    • 进入 Start > Administrative Tools > Services,右键点击 Tomcat10 服务,然后点 Stop

第 5 章 为 Red Hat JBoss Web Server 启用 HTTP/2

Hypertext 传输协议(HTTP)是通过互联网在应用程序(如服务器和浏览器)之间传输数据的标准方法。JBoss Web 服务器支持使用 HTTP/2 进行使用传输层安全(TLS)的加密连接,该连接在启用时由 h2 关键字表示。

通过提供以下改进,在 HTTP/1.1 上改进了 HTTP/2:

  • 标头压缩省略了表示的信息,以减少传输的标头大小。
  • 单个连接上的多个请求和响应使用二进制帧而不是文本图解响应消息。
注意

JBoss Web 服务器不支持将 HTTP/2 用于使用传输控制协议(TCP)的未加密连接,该连接在启用时由 h2c 关键字表示。

5.1. 先决条件

  • 在 Red Hat Enterprise Linux 上具有 root 用户访问权限。
  • 已安装 Red Hat JBoss Web Server 5.0 或更高版本。
  • 您已安装了 Red Hat Enterprise Linux 提供的 opensslapr 软件包。有关安装 opensslapr 软件包的更多信息,请参阅 Red Hat Enterprise Linux 软件包要求

    注意

    这些操作系统原生库也由 jws-6.1.0-application-server- <platform>- &lt;architecture&gt; .zip 提供。

    如果要在 Red Hat Enterprise Linux 8 或 9 上运行 JSSE+OpenSSL 或 APR,则必须使用 Tomcat-Native 来确保成功操作。tomcat-Native 位于原生归档目录中。

  • 您已配置了支持启用了 SSL 的 HTTP/2 协议的连接器。对于 JBoss Web Server 6.1,以下连接器支持 HTTP/2 协议:

    • 带有 JSSE + OpenSSL 的 NIO 连接器(JSSE)
    • 带有 JSSE + OpenSSL 的 NIO2 连接器(JSSE)

5.2. 为连接器启用 HTTP/2

server.xml 文件中,连接器定义中的升级协议默认设置为 HTTP/2。

流程

  1. 打开 JWS_HOME/tomcat/conf/server.xml 配置文件。
  2. 在连接器定义中,确保 UpgradeProtocol 类名称设为 org.apache.coyote.http2.Http2Protocol

    例如:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true"
               maxParameterCount="1000">
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                         certificateKeystorePassword="changeit"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
    Copy to Clipboard
  3. 要应用任何配置更新,请以 root 用户身份重启 Red Hat JBoss Web Server。

    • 要使用 systemd 在 Red Hat Enterprise Linux 上重启 JBoss Web Server,请输入以下命令:

      # systemctl restart jws6-tomcat.service
      Copy to Clipboard
    • 要使用 start .sh 在 Red Hat Enterprise Linux 上重启 JBoss Web Server,请输入以下命令:

      # JWS_HOME/sbin/shudown.sh
      # JWS_HOME/sbin/startup.sh
      Copy to Clipboard
    • 要在 Windows Server 上重启 JBoss Web Server,请输入以下命令:

      # net restart tomcat10
      Copy to Clipboard

5.3. 查看 JBoss Web 服务器日志以验证是否启用了 HTTP/2

您可以查看 JBoss Web Server 控制台输出日志,以验证是否启用了 HTTP/2。

先决条件

步骤

  • 要查看控制台输出日志,请输入以下命令:

    $ cat JWS_HOME/tomcat/logs/catalina.out | grep 'h2'
    Copy to Clipboard
    注意

    在前面的命令中,将 JWS_HOME 替换为您的 JBoss Web Server 安装的顶级目录。

    默认情况下,JBoss Web 服务器以单行格式生成控制台输出。如果要将 JBoss Web 服务器配置为以 JavaScript Object Notation (JSON)格式生成控制台输出,您可以将 java.util.logging.ConsoleHandler.formatter 属性设置为 JWS_HOME/tomcat/conf/logging.properties 文件中的 org.apache.juli.JsonFormatter

验证

  • 如果启用了 HTTP/2,命令会生成以下类型的输出,表示连接器已配置为支持协商至 [h2]

    06-Apr-2018 04:49:26.201 INFO [main] org.apache.coyote.http11.AbstractHttp11Protocol.configureUpgradeProtocol The ["connector_name"] connector has been configured to support negotiation to [h2] via ALPN
    Copy to Clipboard

5.4. 使用 curl 命令验证是否启用了 HTTP/2

您可以使用 curl 命令行工具验证是否启用了 HTTP/2。

先决条件

  • 您已为 连接器启用了 HTTP/2
  • 您使用支持 HTTP/2 的 curl 版本。

    要检查您是否使用了支持 HTTP/2 的 curl 版本,请输入以下命令:

    $ curl -V
    Copy to Clipboard

    这个命令会产生以下输出类型:

    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
    Copy to Clipboard

步骤

  1. 要检查 HTTP/2 协议是否活跃,请输入以下命令:

    $ curl -I http://<JBoss_Web_Server>:8080/
    Copy to Clipboard
    注意

    在前面的示例中,将 &lt ;JBoss_Web_Server > 替换为修改后的连接器的 URI,如 example.com。端口号取决于您的配置。

验证

  • 如果 HTTP/2 协议处于活跃状态,curl 命令会生成以下输出:

    HTTP/2 200
    Copy to Clipboard

    否则,如果 HTTP/2 协议不活跃,curl 命令会生成以下输出:

    HTTP/1.1 200
    Copy to Clipboard

第 6 章 在 Red Hat JBoss Web Server 中使用密码库

JBoss Web 服务器密码库(名为 tomcat-vault )是 Apache Tomcat 的 PicketLink vault 扩展。您可以使用密码库来屏蔽密码和其他敏感字符串,并将敏感信息存储在加密的 Java 密钥存储中。当使用密码库时,您可以停止在 Tomcat 配置文件中存储明文密码。Tomcat 可以使用密码库从密钥存储搜索密码和其他敏感字符串。

重要

有关将 CRYPT 功能与密码 vault 搭配使用的更多信息,请参阅使用 CRYPT

注意

Federal Information Processing Standard (FIPS) 140-2 不支持 tomcat-vault 提供的基于密码的加密。如果要在 JBoss Web 服务器主机上使用基于密码的加密,您必须确保禁用 FIPS。如果您在启用了 FIPS 模式时尝试使用 tomcat-vault,则会显示以下出错信息: Security Vault 无法在 FIPS 模式下使用

6.1. 从存档文件安装密码库

从存档文件安装 JBoss Web 服务器时,当您安装 jws-6.1.0-application-server.zip 文件时,密码 vault 会被自动安装。密码库位于 JWS_HOME/tomcat/lib/tomcat-vault.jar 文件中。

6.2. 使用 DNF 软件包管理器在 RHEL 上安装密码库

当您在 RPM 软件包的 Red Hat Enterprise Linux 上安装 JBoss Web Server 时,您可以使用 DNF 软件包管理器安装密码库。

流程

  • 以 root 用户身份输入以下命令:

    dnf install jws6-tomcat-vault
    Copy to Clipboard

6.3. 在 JBoss Web 服务器中启用密码库

您可以通过在 catalina.properties 文件中添加配置属性来启用密码库。

先决条件

流程

  1. 如果已经运行,请停止 Tomcat。
  2. 打开 JWS_HOME/tomcat/conf/catalina.properties 文件。
  3. catalina.properties 文件中,输入以下行:

    org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.vault.util.PropertySourceVault
    Copy to Clipboard
    注意

    在前面的示例中,将 JWS_HOME 替换为 JBoss Web Server 安装的路径。本例中显示的路径使用正斜杠(/)作为目录分隔符。

6.4. 在 JBoss Web 服务器中创建 Java 密钥存储

在使用密码库之前,您必须首先使用 keytool -genseckey 命令创建 Java 密钥存储。

步骤

  • 使用以下命令:

    $ 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
    Copy to Clipboard
    注意

    在前面的示例中,将参数设置替换为适合您的环境的值。

    有关每个参数的更多信息,请使用 keytool -genseckey -help 命令。

重要

密码密码库目前不支持 PKCS12 密钥存储类型。密码 vault 仅支持 JCEKS 密钥存储类型。

根据您使用的密钥存储算法,您必须指定以下 keysize 值之一:

  • 如果您使用 AES,请指定 -keysize 128
  • 如果您使用 DES,请指定 -keysize 56
  • 如果您使用 DESede,请指定 -keysize 168

6.5. Apache Tomcat 的密码库初始化

您可以使用 tomcat-vault.sh 脚本初始化 Apache Tomcat 的密码 vault。tomcat-vault.sh 脚本支持以下一种机制来初始化密码库:

注意

根据您如何安装密码库,tomcat-vault 脚本的位置会有所不同:

  • 如果您从归档文件安装了密码库,tomcat-vault.sh 脚本位于 JWS_HOME/tomcat/bin 目录中。
  • 如果您使用 DNF 软件包管理器安装密码库,tomcat-vault.sh 脚本位于 /opt/rh/jws6/root/usr/bin 目录中。

6.5.1. 以交互方式初始化 Apache Tomcat 的密码库

您可以以交互方式初始化 Tomcat 的密码库。在这种情况下,tomcat-vault.sh 脚本提示您在脚本运行时输入值。

流程

  1. 进入包含 tomcat-vault.sh 脚本的目录:

    • 如果您从归档文件安装了密码库,请转至 JWS_HOME/tomcat/bin 目录。
    • 如果您从 RPM 软件包安装了密码库,请转至 /opt/rh/jws6/root/usr/bin 目录。
  2. 运行 tomcat-vault.sh 脚本:

    $ ./tomcat-vault.sh
    Copy to Clipboard
  3. 按照屏幕提示进行操作。

    例如:

    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
    Copy to Clipboard

    在前面的示例中,将指定的设置替换为适合您的环境的值。

  4. 请注意 Tomcat 属性文件的输出。在将 Tomcat 配置为使用密码库时,您需要此信息。

6.5.2. 使用非互动设置为 Apache Tomcat 初始化密码 vault

您可以使用非交互式设置初始化 Tomcat 的密码库。在这种情况下,在运行该脚本时,您必须将所需的输入作为 tomcat-vault.sh 脚本的参数提供。

流程

  1. 进入包含 tomcat-vault.sh 脚本的目录:

    • 如果您从归档文件安装了密码库,请转至 JWS_HOME/tomcat/bin 目录。
    • 如果您从 RPM 软件包安装了密码库,请转至 /opt/rh/jws6/root/usr/bin 目录。
  2. 运行 tomcat-vault.sh 脚本并提供所需参数:

    例如:

    $ ./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
    Copy to Clipboard

    在前面的示例中,将指定的设置替换为适合您的环境的值。

注意

当您指定 the -g, --generate-config 选项时,tomcat-vault.sh 脚本还会创建一个包含指定属性的 vault.properties 文件。

6.6. 将 Tomcat 配置为使用密码库

您可以通过更新 vault.properties 文件中的配置设置,将 Apache Tomcat 配置为使用密码库。

步骤

  1. 进入 JWS_HOME/tomcat/conf/ 目录。
  2. 创建名为 vault.properties 的文件。
  3. vault.properties 文件中,输入您在为 Tomcat 初始化密码库时指定的 vault 配置属性。

    例如:

    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/
    Copy to Clipboard
注意

前面的例子基于 交互式 Apache Tomcat 的 Initializing password vault 中的 vault 设置示例。

对于 KEYSTORE_PASSWORD 设置,请确保使用初始化密码库时生成的已屏蔽值。

6.7. 外部密码库配置

您可以将 vault 的 vault.properties 文件存储在 JWS_HOME/tomcat/conf/ 目录之外。如果您已经设置了 CATALINA_BASE/conf/ 目录,您可以将 vault.properties 文件存储在 CATALINA_BASE/conf/ 目录中。

有关设置 CATALINA_BASE 目录的更多信息,请参阅在 Apache Tomcat 网站上 运行 Apache Tomcat 10.1 Servlet/JSP Container 中的"高级配置 - Multiple Tomcat 实例"部分。

注意

CATALINA_BASE 的默认位置是 JWS_HOME/tomcat/。这也被称为 CATALINA_HOME 目录。

6.8. 将敏感字符串存储在密码库中

您可以使用 tomcat-vault.sh 脚本将敏感字符串存储在密码库中。您可以以交互方式或非互动模式运行 tomcat-vault.sh 脚本。

将敏感字符串添加到密码库时,您必须为字符串指定一个名称。在这种情况下,字符串的名称被称为 属性名称,字符串本身被称为 安全属性

流程

  1. 进入包含 tomcat-vault.sh 脚本的目录:

    • 如果您从归档文件安装了密码库,请转至 JWS_HOME/tomcat/bin 目录。
    • 如果您从 RPM 软件包安装了密码库,请转至 /opt/rh/jws6/root/usr/bin 目录。
  2. 要在非互动模式中使用 tomcat-vault.sh 脚本,请输入以下命令:

    $ ./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
    Copy to Clipboard
注意

前面的例子基于 交互式 Apache Tomcat 的 Initializing password vault 中的 vault 设置示例。前面的示例存储敏感字符串 P@SSW0""D,其属性名为 manager_password

运行 tomcat-vault.sh 脚本时,您可以选择指定一个 vault 块来存储密码。如果没有指定块,tomcat-vault.sh 脚本会自动创建块。前面的示例指定了一个名为 my_block 的 vault 块。

6.9. 在 Tomcat 配置中使用存储的敏感字符串

当您将敏感字符串存储在密码库中时,您可以引用属性名称,而不是在配置文件中指定实际字符串。通过将安全字符串替换为字符串的属性名称,您可以确保 Tomcat 配置文件仅包含对密码的引用。在这种情况下,实际密码仅存储在密码库中。

步骤

  1. 打开包含敏感字符串的 Tomcat 配置文件。
  2. 将敏感字符串替换为字符串的属性名称,并确保以以下格式输入属性名称 :${VAULT::block_name::attribute_name::}

    例如:

    考虑安全字符串 P@SSW0""D 的以下示例文件条目:

    <user username="manager" password=*"P@SSW0#D"* roles="manager-gui"/>
    Copy to Clipboard

    如果安全字符串 P@SSW0""D 带有属性 name manager_password,请将安全字符串替换为以下值:

    <user username="manager" password=*"${VAULT::my_block::manager_password::}"* roles="manager-gui"/>
    Copy to Clipboard
注意

前面的例子基于 Storing a sensitive string in the password vault 中的示例设置。前面的示例将一个敏感字符串 P@SSW0""D 替换为属性 name manager_password,它位于名为 my_block 的块中。

第 7 章 配置 SSI 过滤器

您可以为 JBoss Web 服务器配置基于过滤器的服务器 Side Includes (SSI)支持,以便在现有 HTML 页面中启用动态生成内容。

注意

如果您尝试将 SSI 过滤器配置为之前的版本,则 SSI 指令将不起作用。

步骤

  1. 打开 conf/web.xml 文件。
  2. web.xml 文件中,取消以下块的注释:

        <mime-mapping>
            <extension>shtml</extension>
            <mime-type>text/x-server-parsed-html</mime-type>
        </mime-mapping>
    Copy to Clipboard

第 8 章 为 Red Hat JBoss Web Server 配置 FIPS

当在 Red Hat Enterprise Linux 8 主机上安装 JBoss Web Server 时,您可以将 JBoss Web 服务器配置为符合联邦信息处理标准(FIPS)。当您在 Red Hat Enterprise Linux 主机上启用 FIPS 时,这允许 JBoss Web 服务器自动以 FIPS 模式操作。

注意

FIPS 不支持 JBoss Web 服务器的 tomcat-vault 组件提供的基于密码的加密功能。如果要在 JBoss Web 服务器主机上使用基于密码的加密,您必须确保禁用 FIPS。有关基于密码的加密和 tomcat-vault 的更多信息,请参阅 Red Hat JBoss Web Server 的 Vault

8.1. FIPS 简介

Federal Information Processing Standards (FIPS)提供了改进计算机系统和网络之间的安全性和互操作性的指南和要求。FIPS 140-2 和 140-3 系列适用于硬件和软件级别的加密模块。美国国家标准与技术研究所实施了一个 加密模块验证程序,其中包含可搜索的进程和已批准的加密模块列表。

Red Hat Enterprise Linux 提供了一个集成框架,用于在一个系统范围内启用 FIPS 140-2 合规性。在 FIPS 模式下运行时,使用加密库的软件包会根据全局策略进行自我配置。

8.2. 在 RHEL 8 中为 JBoss Web 服务器配置 FIPS

您可以在系统安装过程中在 Red Hat Enterprise Linux 8 主机上启用 FIPS 合规性。另外,您可以在完成系统安装后将您的系统切换到 FIPS 模式。

步骤

验证

  • 使用以下命令:

    fips-mode-setup --check
    Copy to Clipboard

    如果启用了 FIPS,它会输出以下输出:

    FIPS mode is enabled.
    Copy to Clipboard

附录 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 1.0.2 文件中设置 CATALINA_OPTS 将 Java IPv4 和 IPv6 属性导出到 Tomcat。在 Red Hat Enterprise Linux 中,setenv 文件有一个 .sh 扩展。在 Windows 服务器上,setenv 文件有一个 .bat 扩展名。

步骤

  1. 如果 JWS_HOME/tomcat/bin/setenv prepared 文件不存在,请创建该文件。

    注意

    如果您使用 Red Hat Enterprise Linux,请创建一个 setenv.sh 文件。如果您使用 Windows Server,请创建一个 setenv.bat 文件。

  2. 要将 Java IPv4 和 IPv6 属性导出到 Tomcat,请执行以下步骤之一:

    • 如果使用 Red Hat Enterprise Linux,请输入以下命令:

      export "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"
      Copy to Clipboard
    • 如果使用 Windows Server,请输入以下命令:

      set "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"
      Copy to Clipboard

A.3. 配置 Tomcat 绑定

您可以通过指定 IPv6 地址,在 JWS_HOME/tomcat/conf/server.xml 文件中配置 Tomcat 绑定。

步骤

  1. 打开 JWS_HOME/tomcat/conf/server.xml 文件。
  2. 要指定 Tomcat 绑定地址,请输入以下详情:

    <Server ... address="TOMCAT_BINDING_ADDRESS">
    Copy to Clipboard
  3. 要指定 HTTP 连接器地址,请输入以下详情:

    <Connector protocol="HTTP/1.1" ... address="HTTP_CONNECTOR_ADDRESS">
    Copy to Clipboard
  4. 要指定 AJP 连接器地址,请输入以下详情:

    <Connector protocol="AJP/1.3" ... address="AJP_CONNECTOR_ADDRESS">
    Copy to Clipboard
注意

确保将 TOMCAT_BINDING_ADDRESSHTTP_CONNECTOR_ADDRESSAJP_CONNECTOR_ADDRESS 替换为正确的 IPv6 地址。

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.