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

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

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

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

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

整个应用程序可以通过

https://abcd.com/login
访问,但是 Thymeleaf 的 “重定向”路由 始终将其重定向到无法访问的
http://abcd.com/login

任何人都可以帮忙解决这个问题吗?

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

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

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

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

server.forward-headers-strategy=NATIVE

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