我正在设置Shibboleth以使用SAML 2.0。此设置包含使用Nginx到Jetty 9.49的反向代理,它指向shibboleth idp.war文件。 为了进行测试,我使用的是此示例中的django服务提供程序here。
我正在使用自签名证书。
我可以访问https://idp.localhost/idp/shibboleth和https://idp.localhost/idp/status,但不能访问https://idp.localhost/idp/profile/SAML2/POST/SSO。从shibboleth日志文件中,每次浏览https://idp.localhost/idp/profile/SAML2/POST/SSO时都会出现此错误:
2018-04-25 18:20:47,746 - 错误 [org.opensaml.saml.common.binding.security.impl.ReceivedEndpointSecurityHandler:200] - 消息处理程序:预期目标端点“https://idp.localhost/idp/profile/SAML2/POST/SSO”的SAML消息与 收件人端点“http://idp.localhost/idp/profile/SAML2/POST/SSO”
==> idp-warn.log< == 2018-04-25 18:20:47,746 - ERROR [org.opensaml.saml.common.binding.security.impl.ReceivedEndpointSecurityHandler:200] - 消息处理程序:预期目标端点“https://idp.localhost/idp/profile/SAML2/POST/SSO”的SAML消息与 收件人端点“http://idp.localhost/idp/profile/SAML2/POST/SSO”
==> idp-process.log< == 2018-04-25 18:20:47,748 - WARN [net.shibboleth.idp.profile.impl.WebFlowMessageHandlerAdaptor:202] - 配置文件操作WebFlowMessageHandlerAdaptor:异常处理 消息org.opensaml.messaging.handler.MessageHandlerException:SAML 消息收到端点检查失败 org.opensaml.saml.common.binding.security.impl.ReceivedEndpointSecurityHandler.checkEndpointURI(ReceivedEndpointSecurityHandler.java:202)
==> idp-warn.log< == 2018-04-25 18:20:47,748 - WARN [net.shibboleth.idp.profile.impl.WebFlowMessageHandlerAdaptor:202] - 配置文件操作WebFlowMessageHandlerAdaptor:异常处理 消息org.opensaml.messaging.handler.MessageHandlerException:SAML 消息收到端点检查失败 org.opensaml.saml.common.binding.security.impl.ReceivedEndpointSecurityHandler.checkEndpointURI(ReceivedEndpointSecurityHandler.java:202)
==> idp-process.log< == 2018-04-25 18:20:47,749 - WARN [org.opensaml.profile.action.impl.LogEvent:105] - 非继续事件 处理请求时发生:MessageAuthenticationError
==> idp-warn.log< == 2018-04-25 18:20:47,749 - WARN [org.opensaml.profile.action.impl.LogEvent:105] - 非继续事件 处理请求时发生:MessageAuthenticationError
我哪里出错了?
答案 0 :(得分:0)
我认为请求是在HTTPS中完成的,并且响应以明确的HTTP返回。 当码头未从源或其他已损坏的软件包安装时,有时会发生此类问题。在这种情况下很难诊断。
尝试从源代码编译jetty,先清理旧的安装。
我还建立了一个完整的IDP / SP设置程序,其中包含apache2或nginx / tomcat或jetty设置,并带有ansible:
https://github.com/peppelinux/Ansible-Shibboleth-IDP-SP-Debian9
需要4分钟才能满足您的期望,它需要现有的LDAP安装。