一、系統環境
- win10
二、spring boot 配置 https
1、keytool生成證書
- 打開cmd,使用keytool生成證書,keytool是jdk中的一個證書管理工具,可以生成自簽名證書
keytool -genkey -alias tomcat -keyalg RSA -keystore server.keystore
- 生成了對應的文件,如下:
2、參數配置
- 將證書copy至項目中
- 配置
application.yml
server:
port: 8324
http:
port: 8325
ssl:
key-store: classpath:server.keystore
key-alias: tomcat
enabled: true
key-store-password: P@ssw0rd
key-store-type: JKS
參數詳解
server.http.port
指http的端口server.port
指的是https的端口key-store
指證書路徑key-store-password
指第一步中輸入的秘鑰庫口令
3、驗證
- 此刻啟動項目,輸入
https://127.0.0.1:8324/xxx
驗證,如下:
4、配置http訪問
- 新建
TomcatConfig
配置文件,讀取配置文件中http
的端口配置http
訪問
import org.apache.catalina.connector.Connector;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class TomcatConfig {
@Value("${server.http.port}")
private int httpPort;
@Bean
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {
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);
}
}
};
}
}
- 啟動項目驗證
http
三、VUE配置https
bulid/webpack.dev.conf.js
文件下配置derServer.https
為true
- 訪問
https://localhost:端口
,如下: