使用Spring Security将https卸载到负载均衡器

使用Spring Security将https卸载到负载均衡器,第1张

使用Spring Security将https卸载到负载均衡器

如果您在负载平衡器处终止SSL,则您的负载平衡器应发送一个标头,指示最初请求的协议。例如,F5添加了X-Forwarded-Proto。

在这里,您可以创建

ChannelProcessor
用于查看此标头而不是的custom
request.isSecure()
。然后,您可以继续使用
<intercept-url requires-channel="https">
和相对
<c:url>

步骤:

  1. 子类SecureChannelProcessor和InsecureChannelProcessor重写
    decide()
    。在
    decide()
    检查您的负载平衡器发送的标头。
        @Override    public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, ServletException {      for (ConfigAttribute attribute : config) {          if (supports(attribute)) {   if (invocation.getHttpRequest().getHeader("X-Forwarded-Proto").equals("http")) {       entryPoint.commence(invocation.getRequest(),invocation.getResponse());   }          }      }    }
  1. 然后使用来在ChannelDecisionManagerImpl bean 上设置这些ChannelProcessor
    BeanPostProcessor
    。请参阅此Spring Security常见问题解答,以了解为什么/如何使用
    BeanPostProcessor


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5153190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存