配置https訪問
- 生成證書
如果配置了JAVA開發(fā)環(huán)境,可以使用keytool命令生成證書。我們打開控制臺,輸入:
keytool -genkey -alias tomcat -dname "CN=Andy,OU=kfit,O=kfit,L=HaiDian,ST=BeiJing,C=CN" -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365
輸入后會提示輸入密碼,這個密碼在下面配置文件有用到。
生成后,在家目錄找到證書文件,復制到SpringBoot應用的src/main/resources下。
2.在SpringBoot應用的application.properties增加ssl配置:
#https端口號.
server.port=443
#證書的路徑.
server.ssl.key-store=classpath:keystore.p12
#證書密碼,請修改為您自己證書的密碼.
server.ssl.key-store-password=123456(改為之前設置的密碼)
#秘鑰庫類型
server.ssl.keyStoreType=PKCS12
#證書別名
server.ssl.keyAlias=tomcat
此時啟動SpringBoot應用,發(fā)現(xiàn)可以通過https訪問了。

1.png
配置http訪問
由于之前在配置文件配置了https,因此http要通過代碼的形式配置。這個配置也比較簡單,添加一個配置類就可以了。
@Configuration
public class TomcatConfig {
@Value("${server.http.port}")
private int httpPort;
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
if (container instanceof TomcatEmbeddedServletContainerFactory) {
TomcatEmbeddedServletContainerFactory containerFactory =
(TomcatEmbeddedServletContainerFactory) container;
Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
connector.setPort(httpPort);
containerFactory.addAdditionalTomcatConnectors(connector);
}
}
};
}
}
此時啟動SpringBoot應用,發(fā)現(xiàn)也可以通過http 訪問了。

2.png