java 重定向 https_java – Spring安全性更改重定向URL以使用HTTPS而不是HTTP

我正在使用受Spring Security SSO登录保护的Spring微服务(使用Cloudfoundry UAA).

部署在云上的微服务可通过HTTPS URL访问.由于HTTPS URL是ELB(负载均衡器/ Web服务器),因此对ELB的微服务的实际请求来自HTTP.因此Spring将用户重定向到登录页面时会在302 Location标题中生成HTTP URL而不是HTTPS URL.

以下是流程

Browser

->(https://mymicroservice.com) Unauthenticated request (Load balancer)

->(http://internal_lan_ip:someport) Microservice

-> 302 Location http://mymicroservice.com/login

-> Browser http://mymicroservice.com/login (failed)

In short it goes from HTTPS -> HTTP -> 302 HTTP (failed as ELB doesn't serve on HTTP)

以下是我的尝试

的x转发-原

由于负载均衡器也没有正确地将x-forwarded-proto填充到HTTPS,而是它给了我HTTP,我不能使用Spring的支持.

需要渠道HTTPS

它也不起作用,因为它导致Spring无限重定向,因为Spring从未收到来自ELB的HTTPS请求,尽管正确生成了HTTPS重定向URL.

拦截器/过滤器

使用ServletFilter检查响应头位置,如果存在,则用https://替换http://.

坦率地说,最后一个选项是我的最终选项,因为我不控制ELB配置.

现在的问题是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值