微信小程序首次请求慢 Safari浏览器访问慢 pending 10秒 可能是HTTPS证书的锅

简介: 微信小程序首次请求慢 Safari浏览器访问慢 pending 10秒 可能是HTTPS证书的锅

问题

服务端证书使用的是 Let's Encrypt

问题的起因是IOS系统中使用微信小程序,请求服务器接口,首次请求需要等待3 ~ 10秒。导致小程序初次打开白屏。

在反复验证后,排除了Nginx、Tomcat、Java等问题。最终锁定了问题出在HTTPS证书上。

最终参考了V站大佬的帖子才恍然大悟。

v2ex.com/t/665734

在某些系统以及某些特定的浏览器下,会要求在线校验证书的有效性,称为 在线证书状态协议 (Online Certificate Status Protocol) 简称 OCSP ,测试后发现比较新的Chrome内核Firefox内核不会 进行校验,而苹果系统下的Safari 校验,IE 未知 ,在IOS系统的微信小程序 校验,Android系统的微信小程序则 不会 进行校验

补充一下:校验地址如果访问不通,会一直等到访问超时,所以会peding 3 ~ 10秒,超时以后会默认为安全,所以不会出现证书不安全的提示。本次访问的后续请求依然可以正常执行,只会表现为首次请求慢。

测试

经测试,Let's Encrypt 的证书的OCSP地址是

ocsp.int-x3.letsencrypt.org

这个地址在国内大部分地区都无法请求成功,俗称被墙

测试地址

ping.chinaz.com/ocsp.int-x3…

测试结果

01ebd755782e4c909dad0843d3544acf.jpeg

上述结果中的绿色部分也只是极个别情况,该地区的99%的运营商其实也是红色超时状态,白色是仍然在 pending 中,我懒得继续等了

解决

方案1 换证书 (推荐)

目前除了 Let's Encrypt 以外,就只剩下 亚洲诚信 可以申请到免费的HTTPS SSL证书了,不过 Let's Encrypt 是支持多域名、泛域名的。而 亚洲诚信 免费证书只能申请单域名。

到例如腾讯云、阿里云、又拍云的管理后台,搜索SSL证书,申请即可,一般当天可以获得一张一年有效期的单域名证书,支持下载证书文件。其中主域名 abc.comwww.abc.com 是可以共用一张证书的,按 abc.com 申请即可。其他二级域名例如 music.abc.com 需要多次申请

方案2 OCSP Stapling

这是一个曲线救国的方案,也就是在Nginx配置OCSP的校验地址,到你自己的服务器或CDN,来避免访问不通原地址。

这个方案我没有具体实施,所以建议参考这几篇文章,说的比较详细了

CDN方案

www.alibabacloud.com/help/zh/doc…

Nginx方案

www.jianshu.com/p/540124f37…

目录
相关文章
|
19天前
|
Web App开发 Linux 数据安全/隐私保护
Apple Safari 26.0.1 发布 - macOS 专属浏览器 (独立安装包下载)
Apple Safari 26.0.1 发布 - macOS 专属浏览器 (独立安装包下载)
177 0
Apple Safari 26.0.1 发布 - macOS 专属浏览器 (独立安装包下载)
|
5月前
|
安全 网络安全
别慌!浏览器提示证书风险这样解决
不少朋友用 360 浏览器时遇到过这种情况,其实很多时候是电脑系统设置 “闹脾气” 啦。比如电脑时间设置错了,证书和系统时间对不上号,浏览器自然就发出警报。这时,只需简单几步,点击更改日期和时间设置,重新打开网页,说不定风险提示就消失得无影无踪。
2028 6
|
1月前
|
Web App开发 Linux 数据安全/隐私保护
Apple Safari 26 正式版发布 - macOS 专属浏览器 (独立安装包下载)
Apple Safari 26 正式版发布 - macOS 专属浏览器 (独立安装包下载)
233 0
|
8月前
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
求助!怎么上传第三方HTTPS证书?为什么我上传lets encrypt的证书显示私钥格式异常?
用户上传证书时遇到问题,提示格式异常,已尝试转换RSA格式仍未解决。
|
3月前
|
人工智能 安全 算法
HTTPS 的「秘钥交换 + 证书校验」全流程
HTTPS 通过“证书如身份证、密钥交换如临时暗号”的握手流程,实现身份认证与数据加密双重保障,确保通信安全可靠。
351 0
|
5月前
|
Web App开发 Linux 数据安全/隐私保护
Apple Safari 18.5 - macOS 专属浏览器 (独立安装包下载)
Apple Safari 18.5 - macOS 专属浏览器 (独立安装包下载)
241 4
Apple Safari 18.5 - macOS 专属浏览器 (独立安装包下载)
|
6月前
|
Web App开发 Linux 数据安全/隐私保护
Apple Safari 18.4 - macOS 专属浏览器 (独立安装包下载)
Apple Safari 18.4 - macOS 专属浏览器 (独立安装包下载)
266 3
Apple Safari 18.4 - macOS 专属浏览器 (独立安装包下载)
|
6月前
|
安全 算法 数据建模
HTTPS证书类型和品牌一览
HTTPS证书(SSL证书)是保障网站数据传输安全与身份可信认证的重要工具,适用于电商、企业官网等各类平台。证书主要分为DV(域名验证)、OV(企业验证)、EV(扩展验证)三种安全级别,以及单域名、通配符、多域名等不同覆盖类型。品牌方面,既有高性价比的国产锐安信、CFCA,也有国际知名的Sectigo、Digicert。
|
9月前
|
Linux 持续交付 调度
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署

热门文章

最新文章