Spring mvc Spring引导为私有页启用SSL
在我的SpringBootWeb应用程序中,我有一些公共页面和一些管理页面。管理员页面由spring security保护。 我需要为登录页面和登录后管理页面启用SSL/HTTPs。 公共页不需要SSL 我在application.properties中启用了ssl,如下所示Spring mvc Spring引导为私有页启用SSL,spring-mvc,ssl,https,spring-security,spring-boot,Spring Mvc,Ssl,Https,Spring Security,Spring Boot,在我的SpringBootWeb应用程序中,我有一些公共页面和一些管理页面。管理员页面由spring security保护。 我需要为登录页面和登录后管理页面启用SSL/HTTPs。 公共页不需要SSL 我在application.properties中启用了ssl,如下所示 server.port = 8444 server.ssl.key-store = classpath:keystore.jks server.ssl.key-store-password = secret server.
server.port = 8444
server.ssl.key-store = classpath:keystore.jks
server.ssl.key-store-password = secret
server.ssl.key-password = another-secret
并在配置类中添加了另一个连接器
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
return tomcat;
}
private Connector initiateHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(80);
connector.setSecure(false);
connector.setRedirectPort(8444);
return connector;
}
还有我的部分安全配置
@Override
protected void configure(HttpSecurity http) throws Exception {
String[] securedUrls = { "/app/**" };
http.authorizeRequests().antMatchers(securedUrls).hasAnyRole("SYSADMIN")
.and().requiresChannel().antMatchers(securedUrls).requiresSecure().and()
.requiresChannel().antMatchers("/login").requiresSecure();
http.formLogin().loginPage("/login").defaultSuccessUrl("/app", true).successHandler(myAuthenticationSuccessHandler)
.failureHandler(myAuthenticationFailureHandler).and().logout();
}
我能够浏览公共页面,一旦我加载登录页面,我会在chrome中收到错误,因为“这个网页有一个重定向循环ERR\u过多的重定向”当我的域名没有前面的“www”被引用时,我收到了相同的错误