最近甲方BaBa有个非常紧急的微信小程序功能,在微信开发者工具开发完后本以为终于解脱了,结果上传到开发版本后在安卓手机打开白屏(接口全部failed
),IOS可以正常打开 ╮(╯▽╰)╭
先来看看官方的说法 ↓
HTTPS 证书
小程序必须使用 HTTPS/WSS 发起网络请求。请求时系统会对服务器域名使用的 HTTPS 证书进行校验,如果校验失败,则请求不能成功发起。由于系统限制,不同平台对于证书要求的严格程度不同。为了保证小程序的兼容性,建议开发者按照最高标准进行证书配置,并使用相关工具检查现有证书是否符合要求。
对证书要求如下:
- HTTPS 证书必须有效;
- 证书必须被系统信任,即根证书被已系统内置
- 部署 SSL 证书的网站域名必须与证书颁发的域名一致
- 证书必须在有效期内
证书的信任链必需完整(需要服务器配置)
- TLS 必须支持 1.2 及以上版本。部分旧
Android
机型还未支持 TLS 1.2,请确保 HTTPS 服务器的 TLS 版本支持 1.2 及以下版本;证书有效性可以使用
openssl s_client -connect example.com:443
命令验证,也可以使用其他在线工具。
大家看到了吧 证书的信任链必需完整,就是因为它被迫加班 (主要还是自己菜),可以用在线工具输入域名查看具体的报告,如果信任链不完整可以来这里输入域名补全。
最后用补全的证书信任链替换服务器上的证书(我这是一个.pem
文件),大功告成(~ ̄▽ ̄)~