3.6. 启用自动 JBoss Web 服务器配置任务


JBoss Web 服务器集合提供了一组全面的变量,以启用 JBoss Web 服务器安装的自动配置。默认情况下,JBoss Web 服务器集合将 JBoss Web 服务器配置为侦听端口 8080 上的非安全 HTTP 连接。

其它产品功能默认是禁用的:

  • 支持安全 HTTPS 连接
  • mod_cluster 支持将 HTTP 服务器请求负载平衡到 JBoss Web 服务器后端
  • 将敏感数据存储在加密的 Java 密钥存储中的密码库

要启用更广泛的产品功能,您可以定义变量来修改 JBoss Web Server 集合的行为,以匹配您的设置要求。

注意

以下小节仅描述了 JBoss Web 服务器集合可以执行的自动化配置更新的子集。这些示例更新重点关注启用对 HTTPS 连接的支持、启用mod_cluster支持以及启用密码库。

如需 JBoss Web Server 集合提供的变量的完整列表,请参阅 Ansible Automation Hub 中的 jws 角色的信息页面。有关配置和使用 JBoss Web Server 功能的更多信息,请参阅 Red Hat JBoss Web Server 文档

您可以配置 JBoss Web 服务器,以支持通过 HTTPS 协议在 Web 客户端和 Web 服务器之间安全加密连接。

在使用 JBoss Web Server 集合时,请考虑以下关于启用 HTTPS 支持的指南:

  • 如果要启用 HTTPS 支持,您必须确保每个目标主机上存在 Java 密钥存储,然后才能运行 playbook。JBoss Web 服务器集合不会自动提供或创建 Java 密钥存储。在这种情况下,您必须在目标主机上创建新的密钥存储,或将现有密钥存储文件复制到每个目标主机上,如以下步骤 1 所述。
  • 要启用 HTTPS 支持,您可以将 jws_listen_https_enabled 变量设置为 True
  • 当您启用 HTTPS 支持时,JBoss Web Server 集合将使用 Java 密钥存储的适当路径和密码设置更新每个目标主机上的 server.xml 文件。默认情况下,JBoss Web 服务器集合分别在 server.xml 文件中配置这些路径和密码设置,其值为 /etc/ssl/keystore.jkschangeit。但是,如果要使用不同的密钥存储路径或密钥存储密码,您可以修改 JBoss Web Server 集合的行为以匹配您的设置要求。

流程

  1. 如果要创建 Java 密钥存储,请执行以下步骤:

    1. 登录到您要创建密钥存储的 目标主机

      注意

      确保已安装 JDK,并且目标主机上已设置了 JAVA_HOME 变量。

    2. 运行以下命令来创建密钥存储:

      $JAVA_HOME/bin/keytool -genkeypair -alias tomcat -keyalg RSA -keystore <path_to_keystore>
      Copy to Clipboard Toggle word wrap

      在前面的命令中,将 & lt;path_to_keystore > 替换为您要创建的密钥存储文件的完整路径。如果没有指定 -keystore 选项,命令会在一些默认位置创建密钥存储文件,具体取决于您安装的 JDK 版本。例如,如果您使用红帽构建的 OpenJDK,密钥存储的默认位置为 /etc/ssl/keystore.jks

      前面的命令生成密钥存储文件,其中包含一对公钥和私钥,以及单个用于服务器身份验证的自签名证书。密钥对和自签名证书存储在单个密钥存储条目中,该条目由 -alias 选项标识(如 tomcat)。

    3. keytool 命令提示您输入以下信息时,请为设置输入适当的值:

      • 密钥存储密码(默认为 更改
      • 有关证书的常规信息
      • 证书的密钥密码(默认为密钥存储密码)
    注意

    另外,您也可以使用 Linux scp 命令在不同主机之间复制现有的密钥存储文件,而不是创建新的密钥存储文件。

  2. 要启用对 HTTPS 连接的支持,请执行以下步骤:

    1. Ansible 控制节点上,打开 vars.yml 文件。
    2. jws_listen_https_enabled 变量设置为 True

      例如:

      [...]
      jws_listen_https_enabled: True
      Copy to Clipboard Toggle word wrap
    3. 如果每个目标主机上的 Java 密钥存储都位于 /etc/ssl/keystore.jks 以外的路径中,请将 jws_listen_https_keystore_file 变量设置为适当的值。

      例如:

      [...]
      jws_listen_https_keystore_file: <keystore_path>
      Copy to Clipboard Toggle word wrap

      在前面的示例中,将 <keystore_path > 替换为每个目标主机上密钥存储文件的完整路径。

      注意

      如果您没有设置 jws_listen_https_keystore_file 变量,JBoss Web 服务器集合会自动将 server.xml 文件中的 certificateKeystoreFile 设置配置为 /etc/ssl/keystore.jks

    4. 如果每个目标主机上的 Java 密钥存储使用 changeit 以外的密码,请将 jws_listen_https_keystore_password 变量设置为适当的值。

      例如:

      [...]
      jws_listen_https_keystore_password: <keystore_password>
      Copy to Clipboard Toggle word wrap

      在前面的示例中,将 & lt;keystore_password > 替换为每个目标主机上的 Java 密钥存储的正确密码。

      注意

      如果您没有设置 jws_listen_https_keystore_password 变量,JBoss Web 服务器集合会在 server.xml 中自动配置 certificateKeystorePassword 设置,值为 changeit

    5. 将您的更改保存到 vars.yml 文件。

mod_cluster 连接器是一个减少配置和智能解决方案,用于对 JBoss Web 服务器后端进行负载平衡 Apache HTTP 服务器请求。mod_cluster 连接器还提供诸如实时负载平衡计算、应用程序生命周期控制、自动代理发现和多个协议支持等功能。要启用 mod_cluster 支持,您可以定义变量来启用 mod_cluster 侦听器,并为 mod_cluster 实例指定 IP 地址和端口值。

流程

  1. 在 Ansible 控制节点上,打开 vars.yml 文件。
  2. 要启用 mod_cluster 侦听器,请将 jws_modcluster_enabled 变量设置为 True

    例如:

    [...]
    jws_modcluster_enabled: True
    Copy to Clipboard Toggle word wrap
  3. 要指定 mod_cluster 实例的 IP 地址和端口,请将 jws_modcluster_ipjws_modcluster_port 变量设置为适当的值。默认 IP 地址为 127.0.0.1。默认端口为 16509。

    例如:

    [...]
    jws_modcluster_ip: <ip_address>
    jws_modcluster_port: <port>
    Copy to Clipboard Toggle word wrap

    在前面的示例中,将 & lt;ip_address > 替换为目标主机上 mod_cluster 实例的适当绑定地址,并将 & lt;port > 替换为 mod_cluster 实例用于侦听传入的请求的适当端口。

  4. 将您的更改保存到 vars.yml 文件。

有关使用 mod_cluster 的更多信息,请参阅 HTTP Connectors 和 Load Balancing 指南

您可以使用 JBoss Web 服务器的密码库来屏蔽密码和其他敏感字符串,并将敏感信息存储在加密的 Java 密钥存储中。使用密码库时,您可以停止在 JBoss Web 服务器配置文件中存储明文密码。JBoss Web 服务器可以使用密码库从密钥存储搜索密码和其他敏感字符串。要启用密码库,您可以设置一系列变量,允许您指定密码库使用的各种文件和配置设置。

先决条件

流程

  1. 在 Ansible 控制节点上,打开 vars.yml 文件。
  2. 要指定 vault.keystoreVAULT.datvault.properties 文件的路径,作为先决条件步骤的一部分创建,请将以下变量设置为适当的值。

    例如:

    [...]
    jws_vault_name: ./vault_files/vault.keystore
    jws_vault_data: ./vault_files/VAULT.dat
    jws_vault_properties: ./vault_files/vault.properties
    Copy to Clipboard Toggle word wrap

在前面的示例中,确保指定您配置为先决条件步骤一部分的正确路径。

  1. 要启用密码库功能,请将 jws_tomcat_vault_enabled 变量设置为 True

    例如:

    [...]
    jws_tomcat_vault_enabled: True
    Copy to Clipboard Toggle word wrap
  2. 要指定您为密码 vault 配置的密钥存储别名、密钥存储密码、迭代计数和 salt 值,请将以下变量设置为适当的值:

    例如:

    [...]
    jws_tomcat_vault_alias: <keystore_alias>
    jws_tomcat_vault_storepass: <keystore_password>
    jws_tomcat_vault_iteration: <iteration_count>
    jws_tomcat_vault_salt: <salt>
    Copy to Clipboard Toggle word wrap

    在前面的示例中,确保指定您作为先决条件步骤的一部分配置的适当值。

  3. 将您的更改保存到 vars.yml 文件。

有关使用密码库的更多信息,请参阅 Red Hat JBoss Web Server 安装指南

3.6.4. JBoss Web 服务器的 SELinux 策略

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

从存档文件安装 JBoss Web Server 时,SELinux 策略功能要求还安装指定产品版本的本机存档文件。默认情况下,JBoss Web Server 集合配置为安装与目标主机上的操作系统版本匹配的本机存档文件。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat