部署在 AWS ECS 中时,thymleaf 的“重定向”路由会将应用程序重定向到 http 而不是 https

问题描述 投票:0回答:1

我正在构建一个 Spring Boot 应用程序,其中还包含 Spring Security 和 Thymeleaf。我已将此应用程序部署在AWS的弹性容器服务(ECS)集群中。

我有一个简单的主页控制器代码,看起来像

return "redirect:/login"
。但一旦我进入主页,它就会将网址转换为 http 而不是 https

整个应用程序可以通过 https://abcd.com/login 访问,但是 thymeleaf 的 “重定向”路由始终将其重定向到无法访问的 http://abcd.com/login。 任何人都可以帮忙解决这个问题吗?

ECS 还具有一项服务、一项负载均衡器和一项用于将名称转换为 IP 地址的 Route53。

java amazon-web-services spring-security thymeleaf amazon-ecs
1个回答
0
投票

听起来您正在使用 https 卸载运行(这意味着您的 Spring Boot 应用程序没有收到 https 请求,而是收到了 http 请求,负载均衡器终止了 tls 连接)。

我认为您的问题已在 spring boot 文档中描述。 在大多数情况下,解决方案是在 application.yaml 中设置

server.forward-headers-strategy=NATIVE

© www.soinside.com 2019 - 2024. All rights reserved.