没有可用的 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的主要内容,如果未能解决你的问题,请参考以下文章

centos7nettools没有可用的软件包

没有可用的来源..浏览以查找来源

避免在数据表中呈现“表中没有可用数据”

国内都有哪些靠谱的 Javascript 库 CDN可用

没有可用的缓冲空间

MPAndroidChart - 更改消息“没有可用的图表数据”