1. 申请SSL证书
这个呢我是在 OHTTPS申请的泛域名证书,这个有自动部署,三个月自动申请一次,不过需要你的云服务器的账号密码,不大安全的样子,还有的就是阿里云 腾讯云的单域名证书,每个账号能申请20个好像,如果是他们的服务器的话自动部署还好做一点。
OHTTPS申请SSL证书参考第二章链接
申请成功之后下载cert.key(私钥文件)
和 fullchain.cer(证书文件)
,保存好备用
2. Nginx部署SSL
参考 nginx安装部署ssl证书 , 其他服务器请参考SSL配置生成
3. Springboot 开启支持SSL
Springboot 默认的容器是tomcat 支持的是jks的证书文件,好像是jetty 也是支持的jks的,这里需要进行格式转换 SSL证书格式转换
1. 转换证书文件
- 证书文件放
fullchain.cer
- 私钥文件放
cert.key
- 输入一个新文件密码
- 转换之后下载下来 假设是
_.abc.com.jks
2. 使用本地证书文件
如果使用本地证书文件的话,需要配置一下
pom.xml
,防止maven打包的时候修改jks文件
- resources下创建cert文件夹,将
_.abc.com.jks
复制到此文件夹 - 修改
pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<!-- 避免 https 证书文件被修改 -->
<nonFilteredFileExtension>jks</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
- 修改配置文件添加SSL支持
server:
ssl:
enabled: true
key-store: classpath:cert/_.abc.com.jks # jks 文件路径
key-store-password: 123456 # 密码
key-store-type: JKS
3. 使用线上证书文件
- 将你的证书文件上传到OSS服务器,然后复制外网链接
- 修改项目配置文件
server:
ssl:
enabled: true
key-store: https://cdn.**.net/_.abc.com.jks
key-store-password: 123456 # 密码
key-store-type: JKS
4. 验证是否成功
运行日志出现 https就OK了
2023-02-03 10:34:52.046 INFO 1600 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9527 (https)
4. 前端修改
改不改都可以其实。 vue.config.js 修改 https
module.exports = {
devServer: {
// 生产环境开启 https
https: process.env.NODE_ENV === 'production'
},
}