一、系統環境
- 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:端口,如下:

