Spring Boot项目部署之开启HTTPS
迫于课设,完成了对 LightBlog 的重构,使用 Spring Boot 和 SSM 框架,今晚突然想要支持一下 HTTPS(小绿锁)。
差不多折腾了一小时,现在使用的是下面这种方案(又不是不能用)。
SSL 证书
在阿里云买的域名,有赠送一年的免费SSL证书。
将证书上传到服务器里,我这里放在了/usr/local/ssl/
下。
修改application.properties
server.port=8443
server.ssl.key-store=/usr/local/ssl/ssl.pfx
server.ssl.key-store-password=password
server.ssl.keyStoreType=PKCS12
server.ssl.enabled=true
打包 jar
bootJar {
launchScript()
}
运行 Gradle 命令:gradle bootJar
,会在 build/libs
下生成 jar 包。
上传到服务器
scp lightblog-java-1.2-beta.jar [email protected]:~/
启动 spring boot 应用
screen -S blog
java -jar lightblog-java-1.2-beta.jar
现在,网站运行在端口:8443,我们想要的是直接访问:https://lightblog.xyz。所以需要一个从 https://:8443 到 https://lightblog.xyz 的映射。(HTTPS 默认端口:443)。
端口映射
我用的是firewall
,也可以使用iptables
。
sudo apt install firewall
firewall-cmd --add-port=443/tcp
firewall-cmd --add-forward-port=port=443:proto=tcp:toport=8443
通过firewall
,把所以在 443
端口的请求转发到 8443
。
至此可爱的小绿锁终于出现了!!!