3.2. mod_auth_mellon Apache HTTPD Module


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

要配置 mod_auth_mellon,您需要:

  • Identity Provider(IdP)实体描述符 XML 文件,描述与 Red Hat Single Sign-On 或其他 SAML IdP 的连接
  • SP 实体描述符 XML 文件,描述您要保护的应用程序的 SAML 连接和配置。
  • 私钥 PEM 文件,它是 PEM 格式的文本文件,用于定义应用用于签名文档的私钥。
  • 证书 PEM 文件,这是为应用程序定义证书的文本文件。
  • mod_auth_mellon 特定的 Apache HTTPD 模块配置。

3.2.1. 使用红帽单点登录配置 mod_auth_mellon

涉及两个主机:

  • 运行 Red Hat Single Sign-On 的主机,它被称为 $idp_host,因为红帽单点登录是一个 SAML 身份提供程序(IdP)。
  • 运行 web 应用的主机,其称为 $sp_host。在使用 IdP 的 SAML 应用程序中称为服务提供商(SP)。

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

3.2.1.1. 安装软件包

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

  • Apache Web 服务器(httpd)
  • Apache 的 Mellon SAML SP 附加组件模块
  • 创建 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 Service Provider

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