在 spring 启动嵌入式 undertow 时将 http 重定向到 https

Redirect http to https on spring boot embedded undertow

我正在使用 spring 启动 (1.2.3) 和嵌入式 undertow。出于安全原因,我更愿意将任何 http 请求重定向到 https,但我找不到这样做的示例。

这是 spring 启动和 tomcat 的示例:

有人有使用 undertow 执行此操作的解决方案吗?

您可以将 Spring-Security 添加到您的项目,然后配置 Spring-Security 以强制执行 https。您可以在

的 JavaDoc 中找到一个小示例
org.springframework.security.config.annotation.web.builders.HttpSecurity#requiresChannel()

实际上,您将在 Spring 引导应用程序中拥有 2 个端口,因此您将必须创建另一个 EmbeddedServletContainerFactory 以告知新端口是 http 还是 https。创建新端口后,您可以使用 Spring Mvc 或 Spring Security.

管理重定向

恕我直言,这是一个反向代理的问题,它在到达您的应用程序之前处理 http 流量。那是你的选择吗?