正在EC2实例上运行Spring Boot应用程序端口8080。
80 -> 8080
443 (SSL termination happens here) -> 8080
http.requiresChannel().antMatchers("/login", "/logout").requiresSecure();
我们遇到了重定向循环,这是有道理的。
对于Spring Boot应用程序,看起来所有请求都是向非安全端口8080发出的,它重定向到https://example.com,通过ELB并再次在8080上获得请求
对如何用AWS ELB运行这个有什么想法吗???
看来这招奏效了:
@Component
public class TomcatCustomizer implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;
tomcat.addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
connector.setSecure(true);
}
});
}
}
如何配置Undertow以实现此目的?
我使用的是 Java 7、Spring靴 1.1.7 和一个带有嵌入式的 Tomcat 7。 过去,当我使用独立Tomcat时,我会添加一个http连接器,将请求重定向到HTTPS端口: 当我使用嵌入的Tomcat(我没有服务器.xml文件)时,我该怎么做?
我已经在我的 Web 应用程序中配置了 SSL。我已经按照所需的步骤在我的 Tomcat 中安装了证书。 我一直关注的导师是https://www.mulesoft.com/tcat/tomcat-security 我已经强制使用 https over http,这意味着任何对 http 的请求都将转发到 https。我在服务器中进行了以下更改.xml 查看更多:https://www.mules
如果其当前使用 HTTP 访问,则将页面重定向到 HTTPS 中。 另外,按下后退按钮不会将其退回到历史记录中的HTTP页面。 使用 location.protocol 获取当前正在使用的协议。 如果不是 HTTPS ,使用 location.replace() 将现有页面替换为 HTTPS 版本。 使用 location.href 获取完整的地址,用 String.split() 拆分完整的地址
我想运行只使用HTTPS(8443)的嵌入式tomcat。我根本不想使用8080端口。有关于的想法吗? 谢谢
我向AWS部署了一个SpringBoot web应用程序,并为域配置了SSL证书。每次单击映射到的“登录”按钮时: 我被重定向到https登录页面。然而,当用户尝试访问需要授权的页面时,他会被重定向到不安全的http登录页面。我的Spring Security如下所示: 下面是一个实时示例:test4test.io