3.2. mod_auth_mellon Apache HTTPD 模块


mod_auth_mellon 模块是 SAML 的 Apache HTTPD 插件。如果您的语言/环境支持将 Apache HTTPD 用作代理,您可以使用 mod_auth_mellon 使用 SAML 保护您的 Web 应用程序。有关此模块的详情,请查看 mod_auth_mellon GitHub 仓库。

要配置 mod_auth_mellon,您需要:

  • 一个身份提供程序(IdP)实体描述符 XML 文件,该文件描述了与 Red Hat Single Sign-On 或另一个 SAML IdP 的连接
  • SP 实体描述符 XML 文件,用于描述您要保护的应用程序的 SAML 连接和配置。
  • 私钥 PEM 文件,它是 PEM 格式的文本文件,用于定义应用程序用于签署文档的私钥。
  • 证书 PEM 文件,这是为应用程序定义证书的文本文件。
  • mod_auth_mellon-specific Apache HTTPD 模块配置。

涉及两台主机:

  • 运行 Red Hat Single Sign-On 的主机,称为 $idp_host,因为 Red Hat Single Sign-On 是 SAML 身份提供程序(IdP)。
  • 运行 Web 应用的主机,称为 $sp_host。在 SAML 中,使用 IdP 的应用程序称为服务提供商(SP)。

以下所有步骤都需要在具有 root 权限的 $sp_host 上执行。

3.2.1.1. 安装软件包

要安装所需软件包,您需要:

  • Apache Web 服务器(httpd)
  • Mellon SAML SP 附加组件模块用于 Apache
  • 创建 X509 证书的工具

要安装所需软件包,请运行以下命令:

yum install httpd mod_auth_mellon mod_ssl openssl
Copy to Clipboard Toggle word wrap

3.2.1.2. 为 Apache SAML 创建配置目录

建议您在一个位置保留与 Apache 使用 SAML 相关的配置文件。

在 Apache 配置根目录 /etc/httpd 下创建名为 saml2 的新目录:

mkdir /etc/httpd/saml2
Copy to Clipboard Toggle word wrap

3.2.1.3. 配置 Mellon 服务提供商

Apache 附加组件模块的配置文件位于 /etc/httpd/conf.d 目录中,且文件名扩展名 .conf。您需要创建 /etc/httpd/conf.d/mellon.conf 文件并将 Mellon 的配置指令放入其中。

Mellon 的配置指令可大致分为两类信息:

  • 使用 SAML 身份验证保护的 URL
  • 引用受保护的 URL 时,将使用 SAML 参数。

Apache 配置指令通常遵循 URL 空间中的层次结构,这些结构称为位置。您需要为 Mellon 指定一个或多个 URL 位置来保护。您具有如何添加适用于各个位置的配置参数的灵活性。您可以将所有必要参数添加到位置块中,也可以将 Mellon 参数添加到特定受保护位置的 URL 位置层次结构中的常用位置(或两者的某些组合)。由于 SP 以相同的方式运作,因此无论哪个位置触发 SAML 操作,因此此处使用的示例配置将通用 Mellon 配置指令放在层次结构的根目录中,然后可以使用最小指令定义特定位置。此策略可避免为每个受保护的位置复制相同的参数。

此示例只有一个受保护的位置:https://$sp_host/private。

要配置 Mellon 服务提供商,请执行以下步骤:

流程

  1. 使用以下内容创建文件 /etc/httpd/conf.d/mellon.conf:
 <Location / >
    MellonEnable info
    MellonEndpointPath /mellon/
    MellonSPMetadataFile /etc/httpd/saml2/mellon_metadata.xml
    MellonSPPrivateKeyFile /etc/httpd/saml2/mellon.key
    MellonSPCertFile /etc/httpd/saml2/mellon.crt
    MellonIdPMetadataFile /etc/httpd/saml2/idp_metadata.xml
 </Location>
 <Location /private >
    AuthType Mellon
    MellonEnable auth
    Require valid-user
 </Location>
Copy to Clipboard Toggle word wrap
注意

以上代码中提到的一些文件会在后续步骤中创建。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat