为微信小程序配置服务端,升级网站为https

小程序要求服务端的域名必须是https,并且TLS 必须支持 1.2 及以上版本;所以需要给网站安装SLL证书。

本人环境:
阿里云Linux服务器
tomcat8
jdk1.8

一、申请阿里云得免费CA证书:

https://help.aliyun.com/document_detail/28548.html?spm=5176.11065259.1996646101.searchclickresult.39ebd683gk3ree
申请的是Symantec提供免费型数字证书,只能绑定一个域名
这里写图片描述
申请成功后,就可以下载证书了,因为我是tomcat,所以下载的是tomcat版本的证书,可以根据各自需求下载不同的证书。
这里写图片描述

二、安装证书:

Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一。
文件说明:
1. 证书文件xxxxx.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件 xxxx.key、PFX格式证书文件xxxx.pfx、PFX格式证书密码文件pfx-password.txt。

1、证书格式转换

在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,附件中只包含xxxx.pem文件,还需要将私钥文件拷贝到cert目录,命名为xxxx.key;如果是系统创建的CSR,请直接到第2步。
到cert目录下执行如下命令完成PFX格式转换命令,此处要设置PFX证书密码,请牢记:
openssl pkcs12 -export -out xxxx.pfx -inkey xxxx.key -in xxxx.pem

2、PFX证书安装

找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port=”8443”标签,增加如下属性:
keystoreFile="cert/xxxx.pfx"
keystoreType="PKCS12"

此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码
keystorePass=”证书密码”
完整的配置如下,其中port属性根据实际情况修改:
<Connector port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/xxxx.pfx"
keystoreType="PKCS12"
keystorePass="证书密码"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

3、JKS证书安装

( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)
keytool -importkeystore -srckeystore xxxx.pfx -destkeystore
your-name.jks -srcstoretype PKCS12 -deststoretype JKS

回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。
( 2 ) 找到安装 Tomcat 目录下该文件Server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port=”8443”标签,增加如下属性:
keystoreFile="cert/your-name.jks"
keystorePass="证书密码"

完整的配置如下,其中port属性根据实际情况修改:
<Connector port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/your-name.jks"
keystorePass="证书密码"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

4、 重启 Tomcat。

5、 通过 https 方式访问您的站点,测试站点证书的安装配置

注意和一些说明的地方:
1、tomcat和java版本必须是7以上,不然TLS版本只能是1.0,微信小程序还是不能使用
2、可以使用https://www.ssllabs.com/ssltest/analyze.html 测试网站支持的TLS协议版本,测试结果如下:
这里写图片描述
3、阿里云服务器不支持8443端口,但支持443端口,需要在阿里云中开启443端口,即设置安全组规则
这里写图片描述


参考

参考:
https://ninghao.net/blog/4449

主流数字证书都有哪些格式:
https://help.aliyun.com/knowledge_detail/42214.html?spm=5176.2020520163.cas.45.42bafa06zbjGqq

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值