微信小程序需要HTTPS服务。
程序是NGINX做前段代理,现将NGINX设置HTTPS做个总结
微信小程序需要HTTPS服务,并且有相关要求:
650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/4463071004201618543.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" class="aligncenter">
650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/6872322198114923959.png" style="float:none;" title="1.png" class="aligncenter">
650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/4665366637225898625.png" style="float:none;" title="2.png" class="aligncenter">
开发通过https://www.qcloud.com/product/ssl#userDefined10
检测SSL,显示之前配置的https未能通过。主要是算法和域名没通过。
650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/8771985294179877292.png" title="3.png" class="aligncenter">
具体操作命令如下
1 先生成key,并设置密码
openssl genrsa -des3 -out server_new.key 2048
2 通过key 再生成csr
openssl req -new -key server_new.key -out server_new.csr
需要设置域名相关 Common Name=*.xxx.com 设置你服务的域名
3 通过将key去除密码
cp server_new.key server_new.key.withpass
openssl rsa -in server_new.key.withpass -out server_new.key
4 使用无密码的key和csr文件,生成crt
openssl x509 -req -sha256 -days 1000 -in server_new.csr -signkey server_new.key -out server_new.crt
此处需要指定SHA256,及有效时间。
执行成功后
Signature ok
subject=/C=XX/L=Default City/O=Default Company Ltd/CN=*.xxx.com
Getting Private key
最后将key 和crt文件配置到nginx.conf里,再reload。就可以了。
650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/5453939251102176759.png" title="4.png" class="aligncenter">
再次验证,全部通过。
关于key,csr,crt关系
650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/3023104019322181767.png" title="5.png" class="aligncenter">