当前位置: 首页 > 知识库问答 >
问题:

Spring boot Spring SAML不适用于NGINX proxy_pass

史和泰
2023-03-14

我的rest服务(SP)是使用spring boot构建的,spring SAML用于身份验证,UI使用Nginx作为反向代理。如果使用直接URL通过返回/重写调用服务,一切都正常:调用IDP获得身份验证并返回响应。但若我使用proxy_pass调用同一个服务,它将失败,因为响应的InResponseToField与发送的消息不对应

我有一个结构,其中UI使用NGINX作为Web服务器,并通过NGINX调用SP.SP在LB下具有多个实例。

如何使用Nginx进行此调用。

共有1个答案

晏晨朗
2023-03-14

我怀疑您的Nginx未配置为使用粘性会话。这导致来自IDP的响应可能会落在不知道最初从另一台服务器发送的请求的服务器上,因此无法验证它。Spring SAML手册说:

确保您的反向代理或负载平衡器配置为使用粘性会话。

有多种可能的解决方案:

    < li >在Nginx上启用粘滞会话,以便响应到达发送它的同一个服务器 < li >禁用InResponseTo字段的验证(有关详细信息,请参见手册) < li >启用HTTP会话复制,以便将包含已发送请求的HTTP session分发到所有服务器-有关此操作,请参见例如spring-session
 类似资料:
  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。

  • 列名称的类型为int[] 上述查询适用于postgresql,但不适用于hsqldb,甚至适用于sql 尝试的hsqldb版本:2.2.9和2.3.0 在hsqldb中工作的sql是从table_name中选择x,unnest(column_name)y(x)x和y不是该表的列。

  • 我能够成功地打电话给邮递员: /mfp/api/az/v1/token和 /mfpadmin/management-apis/2.0/runtimes/mfp/applications 我正在获取从/mfp/api/az/v1/token接收的承载令牌,并将其添加到/mfp/applications的授权标头中。 我收到了来自两者的200个响应,并从每个API中获取了预期的信息。 然后,我选择从P

  • 我一直在使用声纳3.2 同样的配置,当我升级到SonarQube 4.4时 声纳项目属性: 请帮助整理这些例外 问候, KP

  • 我已经看过并尝试了几乎所有关于这个话题的其他帖子,但运气不好。 我使用的是python 3.6,所以我使用的是以下AMI

  • 问题内容: 我正在尝试制作一个游戏引擎。我已经制作了Game类,但错误仍在KeyBoard类中。在这里我留下一些代码。 类别::游戏 类::键盘 类别:: KeyTest 但是错误是没有抛出异常并且输入没有被读取。谁能说我这样做的正确方法。 问题答案: 简而言之,您的面板需要专注。在创建面板的任何地方添加: 这是一个SSCCE(我建议以后再问其中一个问题): 另外,https://www.goog

  • 我得到了这个: (节点:5496)未处理的promise拒绝警告:未处理的promise拒绝(拒绝ID:2):TypeError:无法读取null的prope rty'map' (节点:5496)[DEP0018]不推荐警告:不推荐未经处理的promise拒绝。将来,未处理的拒绝promise将终止节点。js进程的非零退出代码。 每次我运行我的“用户信息”命令时