Shibboleth设置 - 使用Nginx到Jetty的反向代理9.4.9

时间:2018-04-25 10:22:26

标签: shibboleth jetty-9 nginx-reverse-proxy

我正在设置Shibboleth以使用SAML 2.0。此设置包含使用Nginx到Jetty 9.49的反向代理,它指向shibboleth idp.war文件。 为了进行测试,我使用的是此示例中的django服务提供程序here

我正在使用自签名证书。

我可以访问https://idp.localhost/idp/shibbolethhttps://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

我哪里出错了?

1 个答案:

答案 0 :(得分:0)

我认为请求是在HTTPS中完成的,并且响应以明确的HTTP返回。 当码头未从源或其他已损坏的软件包安装时,有时会发生此类问题。在这种情况下很难诊断。

尝试从源代码编译jetty,先清理旧的安装。

我还建立了一个完整的IDP / SP设置程序,其中包含apache2或nginx / tomcat或jetty设置,并带有ansible:

https://github.com/peppelinux/Ansible-Shibboleth-IDP-SP-Debian9

需要4分钟才能满足您的期望,它需要现有的LDAP安装。