SpringBoot启动jar配置SSL证书
发布日期:2022-05-26本文主要针对SpringBoot微信小程序jar包运行的项目如何配置SSL证书。
关于域名:请确定域名已经获得ICP备案,服务器对外端口开放。
根据小程序官方文档描述,微信小程序的wx.request请求有如下几点要求。
● 域名https(request、uploadFile、downloadFile)和wss(connectSocket)协议;
● 域名不能使IP地址或localhost,且不能带端口号;端口号443(https请求默认为443),并且必须是域名例如www.wosign.com不能是IP地址。
● 域名必须经过ICP备案;
● 出于安全考虑,api.weixin.qq.com不能被配置为服务器域名,相关API也不能在小程序内调用。开发者应将appsecret保存到后台服务器中,通过服务器使用appsecret获取accesstoken,并调取相关API。
配置教程
一、沃通CA下载SSL证书,里面有文件包:Tomcat文件夹JKS证书,service.txt里面有证书密码。
二、配置项目:
打开项目目录:src->main->resources中,把我们上面的两个文件放进去
修改application配置文件,application配置文件,有两种格式properties和yml ;
内容相同,格式不同;请不要混用!当前项目文件使用的yml,将properties也写在下面。
注意:每个属性的分号后面必须加个空格,比如port: 443,而不是port:443)
application.yml添加的内容如下:
server:
port:443 #https的默认端口就是433不能修改
ssl:
key-store:classpath:www.wosign.com.jks #证书pfx的名字
key-store-type:JKS #证书的类型
key-store-password:******** #service.txt中的密码
application.properties添加的内容如下:
server.port=443
server.ssl.key-store=www.wosign.com:jks
server.ssl.key-store-type:JKS
server.ssl.key-store-password=ns5GZVZxDo2k0TzK
三、如果存在HTTP,可以设置重定向到HTTPS(也可以不设置)
四、将项目打包成jar包
打开项目文件夹-->targer文件夹,可以看到jar包
关于项目的其它问题:
如果之前一直都是jar包的方式部署到tomcat的小伙伴,可以跳过这一部分。
由于一开始我是采用导出war包的方式部署到tomcat服务器,因此可能会在pom.xml中会添加如下的代码:
<packaging>war</packaging>
这时候使用maven导包的时候,就需要把war改成jar。 因为war包形式部署一般都是将整个war包放在tomcat中的webapps目录中启动,使用的是服务器的tomcat,然而SpringBoot会自动嵌入tomcat,所以我会在pom.xml中再添加如下代码:
但是这时候我们使用的是jar包形式部署,jar包形式直接使用SpringBoot内置的tomcat,因此我们需要把上面的代码注释掉或者删掉,更改后如下所示:
这一部分只是针对类似我这种情况的小伙伴提出的建议,如果一直都是采用jar包方式部署则可以忽略直接看下一部分。
运行jar包
我比较喜欢在运行jar包时同时创建日志,方便自己后期的检查维护,因此我们直接到jar包的目录下,输入如下Linux命令行
nohupjava-jartest.jar>temp.txt&
nohup就是不挂断运行命令,如果终端关闭时,仍然可以运行此jar包,后面的temp.txt就是日志文件,没有则自动创建,当然你也可以选择不输出日志文件,命令行如下所示
nohupjava-jartest.jar&
使用https访问
在浏览器中输入你的url,成功访问!