Problems with IdP proxy
Yaowen Tu
yaowen.tu at gmail.com
Tue Sep 17 21:26:21 EDT 2013
Looking at the last exception again, it seems coming from IdPNoCacheFilter.
It seems that I need to do the same thing for IdPNoCacheFilter like I did
for IdPSessionFilter and SL4JCleanupFilter to disable the check. I don't
have the environment. I will try it tomorrow and see it the request goes
through.
I would be appreciated if anyone has had the same issue before could let me
know the solution.
Anyways, wiki needs to be updated since changing setting for
IdPSessionFilter only doesn't seems to be enough. Please let me know if I
am wrong.
Thanks,
Yaowen
Yaowen
On Tue, Sep 17, 2013 at 6:19 PM, Yaowen Tu <yaowen.tu at gmail.com> wrote:
> Hi,
>
> I am trying to set up an idp proxy following this link:
>
> https://wiki.shibboleth.net/confluence/display/SHIB2/IdPProxyClustering.
>
> The only difference is that I am not using Apache Proxy module, I am using
> our own proxy to forward request. We have set the proxy to do session
> stickiness.
>
> 1) I edited web.xml with:
> <filter>
> <filter-name>IdPSessionFilter</filter-name>
> <filter-class
> >edu.internet2.middleware.shibboleth.idp.session.IdPSessionFilter</filter-
> class>
> <init-param>
> <param-name>ensureConsistentClientAddress</param-name>
> <param-value>false</param-value>
> </init-param>
> </filter>
>
> But it gives me following error:
> 17:52:58.116 - WARN
> [edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler:409]
> - Message did not meet security requirements
> org.opensaml.xml.security.SecurityException: SAML message intended
> destination endpoint did not match recipient endpoint
> at
> org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder.checkEndpointURI(BaseSAMLMessageDecoder.java:217)
> ~[opensaml-2.6.0.jar:na]
> at
> org.opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder.decode(BaseSAML2MessageDecoder.java:72)
> ~[opensaml-2.6.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler.decodeRequest(SSOProfileHandler.java:389)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler.performAuthentication(SSOProfileHandler.java:211)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler.processRequest(SSOProfileHandler.java:189)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler.processRequest(SSOProfileHandler.java:90)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.common.profile.ProfileRequestDispatcherServlet.service(ProfileRequestDispatcherServlet.java:83)
> [shibboleth-common-1.4.0.jar:na]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [servletContainer.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.util.NoCacheFilter.doFilter(NoCacheFilter.java:50)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [servletContainer.jar:na]
> at
> edu.internet2.middleware.shibboleth.common.log.SLF4JMDCCleanupFilter.doFilter(SLF4JMDCCleanupFilter.java:52)
> [shibboleth-common-1.4.0.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
> [servletContainer.jar:na]
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
> [servletContainer.jar:na]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
> [servletContainer.jar:na]
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> [servletContainer.jar:na]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
> [servletContainer.jar:na]
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
> [servletContainer.jar:na]
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
> [servletContainer.jar:na]
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
> [servletContainer.jar:na]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> [na:1.6.0_45]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> [na:1.6.0_45]
> at java.lang.Thread.run(Thread.java:662) [na:1.6.0_45]
>
> 2) I saw the exception came from SLF4JMDCCleanupFilter, so I just did the
> same thing like:
> <filter>
> <filter-name>SL4JCleanupFilter</filter-name>
> <filter-class
> >edu.internet2.middleware.shibboleth.common.log.SLF4JMDCCleanupFilter</filter-
> class>
> <init-param>
> <param-name>ensureConsistentClientAddress</param-name>
> <param-value>false</param-value>
> </init-param>
> </filter>
> Note this is not in the wiki.
>
> Then I saw this error which is different:
> 18:09:00.973 - ERROR
> [org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder:215] - SAML
> message intended destination endpoint '
> http://sma-pc1:8080/idp/profile/SAML2/POST/SSO' did not match the
> recipient endpoint 'http://sma-pc1:8900/idp/profile/SAML2/POST/SSO'
> 18:09:00.981 - WARN
> [edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler:409]
> - Message did not meet security requirements
> org.opensaml.xml.security.SecurityException: SAML message intended
> destination endpoint did not match recipient endpoint
> at
> org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder.checkEndpointURI(BaseSAMLMessageDecoder.java:217)
> ~[opensaml-2.6.0.jar:na]
> at
> org.opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder.decode(BaseSAML2MessageDecoder.java:72)
> ~[opensaml-2.6.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler.decodeRequest(SSOProfileHandler.java:389)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler.performAuthentication(SSOProfileHandler.java:211)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler.processRequest(SSOProfileHandler.java:189)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.profile.saml2.SSOProfileHandler.processRequest(SSOProfileHandler.java:90)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> edu.internet2.middleware.shibboleth.common.profile.ProfileRequestDispatcherServlet.service(ProfileRequestDispatcherServlet.java:83)
> [shibboleth-common-1.4.0.jar:na]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [servletContainer.jar:na]
> at
> edu.internet2.middleware.shibboleth.idp.util.NoCacheFilter.doFilter(NoCacheFilter.java:50)
> [shibboleth-identityprovider-2.4.0.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
> [servletContainer.jar:na]
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
> [servletContainer.jar:na]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
> [servletContainer.jar:na]
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
> [servletContainer.jar:na]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> [servletContainer.jar:na]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
> [servletContainer.jar:na]
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
> [servletContainer.jar:na]
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
> [servletContainer.jar:na]
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
> [servletContainer.jar:na]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> [na:1.6.0_45]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> [na:1.6.0_45]
> at java.lang.Thread.run(Thread.java:662) [na:1.6.0_45]
>
> Looks like IdP is trying to match the URL in many places, is there a way
> to disable the checking all together? It seems that following the wiki is
> not enough. Is there anything I am missing?
>
> Thanks,
> Yaowen
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://shibboleth.net/pipermail/users/attachments/20130917/b3b312d9/attachment.html
More information about the users
mailing list