我正在尝试配置 shibboleth。 当我访问 https://mysite/secure/index.php 时,它工作正常,我可以进行身份验证等,但是当我访问 https://mysite/Shibboleth.sso/Status (或任何其他https://mysite/Shibboleth.sso/*)我收到以下消息:
shibsp::ConfigurationException
The system encountered an error at Mon Jul 10 12:06:32 2017
To report this problem, please contact the site administrator at root@localhost.
Please include the following message in any email:
shibsp::ConfigurationException at (https://mysite/Shibboleth.sso/Session/)
Shibboleth handler invoked at an unconfigured location.
我的shibboleth2.xml如下(为简洁起见,删除了注释):
<SPConfig xmlns="urn:mace:shibboleth:2.0:native:sp:config"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
clockSkew="1800">
<ApplicationDefaults entityID="https://mysite/shibboleth"
REMOTE_USER="eppn">
<Sessions lifetime="28800" timeout="3600" checkAddress="false"
relayState="ss:mem" handlerSSL="true"
cookieProps="https">
<SSO entityID="https://idp.testshib.org/idp/shibboleth">
SAML2 SAML1
</SSO>
<Logout>SAML2 Local</Logout>
<Handler type="MetadataGenerator" Location="/Metadata"
signing="false"/>
<Handler type="Status" Location="/Status"
acl="127.0.0.1 ::1"/>
<Handler type="Session" Location="/Session"
showAttributeValues="true"/>
<Handler type="DiscoveryFeed" Location="/DiscoFeed"/>
</Sessions>
<Errors supportContact="root@localhost"
logoLocation="/shibboleth-sp/logo.jpg"
styleSheet="/shibboleth-sp/main.css"/>
<MetadataProvider type="XML"
uri="http://www.testshib.org/metadata/testshib-providers.xml"
backingFilePath="testshib-two-idp-metadata.xml"
reloadInterval="180000" />
<AttributeExtractor type="XML" validate="true"
path="attribute-map.xml"/>
<AttributeResolver type="Query" subjectMatch="true"/>
<AttributeFilter type="XML" validate="true"
path="attribute-policy.xml"/>
<CredentialResolver type="File" key="my_key"
certificate="my_cert" extractNames="false"/>
</ApplicationDefaults>
<SecurityPolicyProvider type="XML" validate="true"
path="security-policy.xml"/>
<ProtocolProvider type="XML" validate="true"
reloadChanges="false" path="protocols.xml"/>
</SPConfig>
我已经检查了我能找到的每一个配置文件,我能想到的每一个设置。 我打开了native.logger和shibd.logger的调试模式,但没有发现任何东西。
出了什么问题?或者我应该去哪里看?
问题实际上出在 Apache 的配置方式上。 它正在重写 url,在每个 url 末尾添加一个 /。 所以
https://mysite/Shibboleth.sso/Session
变成了https://mysite/Shibboleth.sso/Session/
。 总是小事!
由于项目的另一部分需要 Apache 配置,因此我更改了 Location 属性以在末尾添加斜杠,并且效果非常好! HT- Scott Cantor 在 [电子邮件受保护] 邮件列表!
对于不同的用例,我也遇到了相同的异常
Shibboleth handler invoked at an unconfigured location
。
最后的问题是,我无法下载 shibboleth 元数据文件,因为我没有附加相对 URL
/Metadata
。
用于下载元数据文件的正确 URL:
https://my_apache_hostname/Shibboleth.sso/Metadata