小程序配置域名访问出现ios可以正常访问但是android无法正常访问的问题排查

1、具体问题描述

小程序在开发环境下使用IP+端口的方式开发测试完成,但是在切换到域名并且配置了https之后,出现一种特别诡异的事情,小程序发布体验版之后,IOS系统的小程序可以正常访问小程序体验版,但是安卓系统无法正常访问,是不是很坑爹?

2、具体问题排查过程

  • 2.1 从程序本身定位

    仔细检查了所有的代码和配置文件,都是OK的,确认不是程序本身的问题导致。

  • 2.2 域名生效时间延迟

    最开始我们以为配置域名的生效时间有延迟,进行等待,等待了差不多两天还是无法访问,联系了客服,客服给的回复是有问题就到微信开发者社区发帖,寻求帮助,这不是跟没说一样,自己想办法吧。

  • 2.3 https证书配置问题

    使用域名和端口的方式可以正常访问,但是切换到域名必须要先配置https,那是不是https证书有问题呢?
    于是在网上搜索了一番关于nginx和apache服务器配置https的区别,终于找到了症结所在,

Nginx 不像是 Apache 有专门的参数配置中间证书
Nginx 需要全部配置在服务器证书文件中

如果是使用的apache服务器,是可以直接配置中间服务证书的,ssl的证书配置一共包含三个子证书和一个publicKey,
三个子证书分别为:服务器证书、中间服务证书、root证书,


`Nginx不提供中间证书`
`Nginx不提供中间证书`
`Nginx不提供中间证书`

如果是使用的apache服务器,需要自己进行证书合并处理。

通过以下地址:可以检测证书是否正常安装

SSL服务器证书安装检查器地址: https://www.myssl.cn/tools/check-server-cert.html
在这里插入图片描述
如果证书查询结果如下说明就是中间文件缺失:
在这里插入图片描述

3、如何解决"nginx服务器缺少中间证书的问题"

  • 3.1 首先打开已经下载好的crt或者cer证书文件并复制全部内容,如下:
    在这里插入图片描述
  • *3.2 将 .crt或 .pem或者.cer证书文件的内容复制到一下地址解析,得到中间证书和根证书:

SSL服务器证书解析: https://www.myssl.cn/tools/downloadchain.html

在这里插入图片描述

在这里插入图片描述

  • 3.3 点击【复制到剪贴板】将生成的中间证书和根证书的内容复制,打开3.1中的证书将中间证书和根证书的完整内容追加到证书文件中,切记一定保存文件

在这里插入图片描述

  • 3.4 重新上传证书到nginx服务器指定读取ssl证书目录下,然后重启nginx服务器
# 测试配置是否正常
nginx -t

# 重新加载配置文件
nginx -s reload
  • 3.5 重新检测域名的ssl证书是否正常配置

SSL服务器证书安装检查器地址: https://www.myssl.cn/tools/check-server-cert.html
在这里插入图片描述
检测结果:
在这里插入图片描述

  • 3.6 使用安卓手机再次访问小程序验证
    安卓手机可以正常访问小程序了,至此问题解决。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值