我正在尝试设置 shibboleth 配置,但现在遇到了一个错误,我不知道如何处理:
当我访问一个我配置为受 shibboleth 保护的站点时,我收到 500 错误,apache 的错误日志指出:
[authn_core:error] AH01796: AuthType shibboleth configured without corresponding module
但是我已经启用并正确加载了 shib2:
# a2enmod shib2
Module shib2 already enabled
# cat /etc/apache2/mods-enabled/shib2.load
LoadModule mod_shib /usr/lib/apache2/modules/mod_shib2.so
# ls /usr/lib/apache2/modules/mod_shib2.so -l
-rw-r--r-- 1 root root 150344 Mär 28 2015 /usr/lib/apache2/modules/mod_shib2.so
我对这个错误感到很困惑。特别是因为它以前是可以正常工作的。
编辑:apache 的虚拟主机配置
<VirtualHost [ip]:8081>
DocumentRoot /var/www/sp
<Location /shibboleth-sp>
Allow from all
</Location>
Alias /shibboleth-sp/main.css /usr/share/shibboleth/main.css
Alias /shibboleth-sp/logo.jpg /usr/share/shibboleth/logo.jpg
<Location /secure>
AuthType shibboleth
ShibRequireSession On
require valid-user
</Location>
Redirect seeother /shibboleth http://[ip]/Shibboleth.sso/Metadata
</VirtualHost>
答案1
事实证明,如果您在 shibboleth2.xml 中使用 RequestMapper 指令,即使对于其他站点,您也必须为 Apache 创建 Host 指令,尽管这通常不是必需的。
就我而言,我目前尝试配置 nginx 来与 shibboleth 对话。使用这个 nginx 模块,我必须配置一个 Host 指令,然后它也能正常工作。然后,为了测试目的,我想再次启用 Apache 的 mod_shib,尽管它以前可以工作,但现在却不能了。
具体来说,将 Apache Host 添加到 shibboleth2.xml 可以解决这个问题。
值得注意的是,这个问题导致了上述错误消息......