我在下面设置了 2 个标头,用于将从 Siteminder 返回的 SAML 值转换为 HTTP 标头。
MellonSetEnvNoPrefix YYY_ID yyy
MellonSetEnvNoPrefix XXX_ROLE xxx
启动apache后出现以下错误:
Starting httpd: Syntax error on line 8 of /XXX/XXXXX/XXXX/auth_mellon.conf:
MellonSetEnvNoPrefix not allowed here
[FAILED]
如何修复这个语法错误?
答案1
我会仔细检查您是否已mod_auth_mellon
在 Apache 中安装并加载了该模块。有关如何实现此目的的文档在这里 -https://github.com/Uninett/mod_auth_mellon。
然后确认模块已加载:
LoadModule auth_mellon_module /usr/lib/apache2/modules/mod_auth_mellon.so
加载模块后,这些消息可能会停止。如果您发现它们没有,您可能需要将这些属性放在一个<Location /xxxx>
块中,以告诉 Apache 在加载时哪个位置应该使用它们。上面提供的 URL 再次显示了更多这样的示例:
###########################################################################
# End of global configuration for mod_auth_mellon.
###########################################################################
# This defines a directory where mod_auth_mellon should do access control.
<Location /secret>
...
...
# MellonSetEnvNoPrefix is identical to MellonSetEnv, except this
# does not prepend 'MELLON_' to the constructed environment variable.
# The syntax is 'MellonSetEnvNoPrefix <local name> <IdP name>'.
# You can list multiple MellonSetEnvNoPrefix directives.
# Default. None set.
# MellonSetEnvNoPrefix "DISPLAY_NAME" "displayName"
MellonSetEnvNoPrefix YYY_ID yyy
MellonSetEnvNoPrefix XXX_ROLE xxx
</Location>