在反向代理后面使用 SP 时出现 Spring saml 问题
Posted
技术标签:
【中文标题】在反向代理后面使用 SP 时出现 Spring saml 问题【英文标题】:Spring saml issues when using SP behind a reverse proxy 【发布时间】:2019-01-18 08:36:24 【问题描述】:我们使用 Spring SAML 扩展实现了带有 ADFS 身份验证的 SAML。 SP 位于 nginx 后面的服务器 A 上,URL 的格式为 https://serviceprovider/saml/login(刚刚编造),ADFS 位于单独网络中的客户端。客户可以访问https://serviceprovider/saml/login URL,并从 ADFS 获得输入凭据的提示,他们这样做了,并且由于某种原因,他们被重定向到具有托管 SP 的内部 IP 地址的 URL(服务器 A),这当然不能通过 Internet 访问,例如 https://x.x.x.x:8443。 我们的代码没有硬编码,Spring/SAML 设置都使用 SP 和 IdP 的站点 URL。还验证了 https://serviceprovider/saml/login/metadata 返回正确的值。
有没有人处理过这样的情况?如果是这样,你是如何解决的? 谢谢
【问题讨论】:
【参考方案1】:它可能会担心,Nginx 在传入请求中添加了错误的 Host 标头,添加了 x.x.x.x.8443 主机值。已通过调整 Nginx 以在示例中发送正确的 Host 标头值“serviceprovider”来修复。
【讨论】:
【参考方案2】:您是否尝试过为 LB 配置它?
https://docs.spring.io/spring-security-saml/docs/1.0.4.BUILD-SNAPSHOT/reference/html/configuration-advanced.html#configuration-load-balancing
【讨论】:
以上是关于在反向代理后面使用 SP 时出现 Spring saml 问题的主要内容,如果未能解决你的问题,请参考以下文章
在反向代理后面使用 OAuth2 的 Spring Boot