1.9.2. Elytron 与远程 HTTP 连接器集成


通过引用 undertow 系统中的连接器和 elytron 子系统中定义的 SASL 身份验证工厂来指定远程 HTTP 连接。HTTP 连接器为基于 HTTP 升级的远程连接器提供配置,并连接到 connector -ref 属性指定的 HTTP 侦听器。

连接器 的属性如下:

connector-ref
对预定义的 undertow 侦听器的引用。
sasl-authentication-factory
对 SASL 身份验证工厂的引用,用于向这个连接器验证请求。有关创建此工厂的更多信息,请参阅 创建 Elytron Authentication Factory

例如,可以按如下所示添加 http-connector,其中 CONNECTOR_NAME 引用 undertow 侦听器,而 SASL_FACTORY_NAMEelytron 子系统中已定义的身份验证工厂。

/subsystem=remoting/http-connector=HTTP_CONNECTOR_NAME:add(connector-ref=CONNECTOR_NAME,sasl-authentication-factory=SASL_FACTORY_NAME)
在删除 HTTP 连接器上启用一次性 SSL

在 JBoss EAP 中启用单向 SSL/TLS 之前,您必须配置引用定义的 key-manager 的密钥 存储、key-manager 和 server-ssl-context

以下 SASL 机制支持到外部安全频道(如 SSL/TLS)的通道绑定:

  • GS2-KRB5-PLUS
  • SCRAM-SHA-1-PLUS
  • SCRAM-SHA-256-PLUS
  • SCRAM-SHA-384-PLUS
  • SCRAM-SHA-512-PLUS

要使用上述任何机制,可以配置自定义 SASL 工厂,也可以修改预定义的 SASL 验证工厂之一以提供任何这样的机制。可以在客户端上使用 SASL 机制选择器来指定适当的 SASL 机制机制。

  1. 检查 https-listener 是否配置为使用传统安全域进行其 SSL 配置。

    /subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm)
    {
        "outcome" => "success",
        "result" => "ApplicationRealm"
    }

    以上命令显示 https-listener 已配置为使用 ApplicationRealm 传统安全域进行 SSL 配置。Undertow 无法同时引用 Elytron 中的传统安全域和 ssl-context,因此您必须删除对旧安全域的引用。

    注意

    如果未定义 结果,则无需在下一步中移除对安全域的引用。

  2. 移除对传统安全域的引用,并将 https-listener 更新为从 Elytron 使用 ssl-context

    注意

    HTTPS-listener 必须始终配置 security-realm or ssl-context。在两种配置之间更改时,命令必须以单批形式执行,如下所示:

    batch
    /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm)
    /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT)
    run-batch
  3. 创建一个 HTTP 连接器来引用 HTTPS 侦听程序和 SASL 身份验证工厂。

    /subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)
  4. 重新加载服务器:

    reload
  5. 配置客户端以信任服务器证书。例如,如果使用浏览器,您需要将可信证书导入到浏览器的信任存储中。
在删除 HTTP 连接器上启用双向 SSL/TLS

在 JBoss EAP 中启用双向 SSL/TLS 之前,您必须为客户端和服务器证书配置单独的 密钥存储 组件、服务器 密钥 存储 的密钥管理器、用于 服务器信任存储 的 trust-manager 以及引用定义的 key -manager 和 trust-manager 的 server- ssl-context

以下 SASL 机制支持到外部安全频道(如 SSL/TLS)的通道绑定:

  • GS2-KRB5-PLUS
  • SCRAM-SHA-1-PLUS
  • SCRAM-SHA-256-PLUS
  • SCRAM-SHA-384-PLUS
  • SCRAM-SHA-512-PLUS

要使用上述任何机制,可以配置自定义 SASL 工厂,也可以修改预定义的 SASL 验证工厂之一以提供任何这样的机制。可以在客户端上使用 SASL 机制选择器来指定适当的 SASL 机制机制。

  1. 检查 https-listener 是否配置为使用传统安全域进行其 SSL 配置。

    /subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm)
    {
        "outcome" => "success",
        "result" => "ApplicationRealm"
    }

    以上命令显示 https-listener 已配置为使用 ApplicationRealm 传统安全域进行 SSL 配置。Undertow 无法同时引用 Elytron 中的传统安全域和 ssl-context,因此您必须删除对旧安全域的引用。

    注意

    如果未定义 结果,则无需在下一步中移除对安全域的引用。

  2. 移除对传统安全域的引用,并将 https-listener 更新为从 Elytron 使用 ssl-context

    注意

    HTTPS-listener 必须始终配置 security-realm or ssl-context。在两种配置之间更改时,命令必须以单批形式执行,如下所示:

    batch
    /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm)
    /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT)
    run-batch
  3. 创建一个 HTTP 连接器来引用 HTTPS 侦听程序和 SASL 身份验证工厂。

    /subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)
  4. 重新加载服务器:

    reload
  5. 配置您的客户端以信任服务器证书,并将其证书呈现给服务器。

    您需要将客户端配置为向服务器提供可信客户端证书,以完成双向 SSL/TLS 身份验证。例如,如果使用浏览器,您需要将可信证书导入到浏览器的信任存储中。

现在在远程 HTTP 连接器上启用了双向 SSL/TLS。

重要

如果您 同时 定义了 security-realmssl-context,JBoss EAP 将使用由 ssl-context 提供的 SSL/TLS 配置。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部