由于微信小程序在体验版和上线版本,需要用https连接,所以你需要申请一个域名,并为这个域名申请证书。怎么利用acme.sh免费申请证书在上篇文章有提到利用acme.sh免费建立https连接,这里就记录一下Spring Boot
中配置HTTPS
,再利用Docker
进行部署。
上一篇中acme.sh免费申请证书后会生成两个文件example.com.key
和fullchain.cer
example.com.key
是私钥文件fullchain.cer
是包含公钥证书和中间证书链的证书文件把这两个文件放在同一目录下,并执行一下命令,合并成一个 PKCS12 格式的证书文件:
openssl pkcs12 -export -in fullchain.cer -inkey example.com.key -out your_keystore.p12 -name your_alias
复制代码
your_keystore.p12
是你要生成的 PKCS12 格式的证书文件名your_alias
是你的证书别名然后会让你设置一个密码来保护生成的 PKCS12 格式的证书文件,这个密码要记下来!!!
这时候当前目录下就会生成 your_keystore.p12
文件
先把证书文件放到application.yml
同一目录下
server:
port: 9898
ssl:
key-store-type: pkcs12
key-store: classpath:your_keystore.p12
key-store-password: xxxxxxx
key-alias: your_alias
复制代码
把打包好的jar包上传到服务器,并把证书文件也放在你服务器上
在jar包目录生成一个Dockerfile
文件,内容如下:
FROM java:8-alpine
ARG JAR_FILE
COPY 你jar包的名称.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
复制代码
在当前目录下执行构建,并部署
sudo docker build -t <镜像名称> . #记得后面有个点 .
#我将镜像映射到我服务器的9898端口
sudo docker run -d -p 9898:9898 -v /root/your_keystore.p12:/app/your_keystore.p12 -e "SERVER_SSL_KEY_STORE_TYPE=PKCS12" -e "SERVER_SSL_KEY_STORE=classpath:your_keystore.p12" -e "SERVER_SSL_KEY_STORE_PASSWORD=xxxxxx" -e "SERVER_SSL_KEY_ALIAS=your_alias" <镜像名称>
复制代码
/root/your_keystore.p12
要替换成你证书所在服务器的地址SERVER_SSL_KEY_STORE
,SERVER_SSL_KEY_STORE_PASSWORD
,SERVER_SSL_KEY_ALIAS
都要改成你自己的配置到这里已经完成所有的部署啦😃😃
在postman
或在网页中测试,输入https://example.com:9898
就能看到数据啦
但是对于微信小程序来说还没有可以正常发起连接
需要到官方的微信小程序后台的 开发管理 -> 开发设置-> 服务器域名配置
将自己的域名配置上去,就完结撒花啦
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。