springboot 配置http和https同時(shí)訪問
- 使用jdk自帶keytool工具生成jks證書
keytool -genkeypair -alias zhan -keypass zhan123 -keyalg RSA -keysize 1024 -validity 365 -keystore E:/idea_work/springsecurity20210902/demo04/src/main/resources/zhan.jks -storepass nana123
- yml配置
server:
port: 8443
servlet:
context-path: /security
#ssl
ssl:
# 密鑰庫的路徑
key-store: classpath:zhan.jks
# 密鑰庫類型
key-store-type: JKS
# 密鑰庫中密鑰的別名
key-alias: zhan
# 用于訪問密鑰庫中密鑰的密碼
key-password: zhan123
# 用于訪問密鑰庫的密碼
key-store-password: nana123
- 由于配置文件中增加了https協(xié)議,因此http協(xié)議增加一個(gè)配置類即可
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
// tomcat.addConnectorCustomizers(new GwsTomcatConnectionCustomizer());
tomcat.addAdditionalTomcatConnectors(newHttpConnector());
return tomcat;
}
private Connector newHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(8080);
connector.setSecure(true);
return connector;
}
- 啟動(dòng)結(jié)果如下圖:
image.png