没有可用的 MetadataProvider - shibsp::ConfigurationException
Posted
技术标签:
【中文标题】没有可用的 MetadataProvider - shibsp::ConfigurationException【英文标题】:No MetadataProvider available - shibsp::ConfigurationException 【发布时间】:2017-02-24 06:44:33 【问题描述】:我最近将 Shibboleth 从 versionShibboleth-sp-2.5.6.0-win64 升级到 Shibboleth-sp-2.6.0.0-win64,并将 Apache Web 服务器从 2.4.16 升级到 2.4.23。
发布升级后,当我尝试访问我的应用程序时出现以下错误:
shibsp::ConfigurationException
The system encountered an error at Fri Oct 14 20:19:51 2016
To report this problem, please contact the site administrator at root@localhost.
Please include the following message in any email:
shibsp::ConfigurationException at (https://xxxxxx.xxxx/)
No MetadataProvider available.
当我访问 https://xxxxx.xxxxx/Shibboleth.sso/Metadata 时,元数据文件已下载,详细信息似乎正确。
有谁知道为什么会出现这个错误,我们该如何解决?
【问题讨论】:
查看您的 Shibboleth SP 配置的MetadataProvider
部分。验证那里指示的文件或 URL 是否可访问且正确。
【参考方案1】:
如果有帮助的话,我写的是这样的:
<MetadataProvider type="XML" validate="true" file="/etc/shibboleth/idp-metadata.xml" />
而不是这个:
<MetadataProvider type="XML" validate="true" path="/etc/shibboleth/idp-metadata.xml" />
XML 属性是path。我正在使用 Shibboleth SP 版本 3。
【讨论】:
谁能提供这个配置的文件名?【参考方案2】:确保您有一个默认部分以及一个覆盖(如果存在)。对我来说,即使为覆盖正确创建了一个部分,它也需要一个默认值
【讨论】:
【参考方案3】:仅作记录。您的 SP 的大部分配置都在 shibboleth2.xml
中进行。在您的服务器上找到此文件并根据您的需要编辑设置。
对于 Linux 安装:
确保不要从您的安装路径中编辑此文件,而是在您的分发路径中(即/etc/shibboleth/shibboleth2.xml
),否则您的更改将不可见...
更改shibboleth2.xml
后必须重新启动shibd
(systemctl restart shibd
)。
【讨论】:
【参考方案4】:尝试以下步骤:
1) 转到shar.log
并检查从 IDP 的断言消息返回的实体 ID 是什么。2) 转到相应的 IDP 的元数据SP 方面,比较两个实体 ID。3) 当然文件之间肯定存在一些不匹配,这就是为什么 SP 无法找到它正在与之交谈的 IDP 并且无法继续的原因进一步。
最后,更新 IDP 元数据中的实体 ID 并重启 shibd。它应该可以工作。
【讨论】:
以上是关于没有可用的 MetadataProvider - shibsp::ConfigurationException的主要内容,如果未能解决你的问题,请参考以下文章