证书不会在客户端缓存的。iOS 访问 https 优先使用 ECH ,其他的操作系统一般不会优先使用 ECH 。我猜测,也许你的问题是 ECH 配置错误造成的。
找一个 dig 版本较新的 (ubuntu 20.04 或者 debian 11 以上),运行:
dig @
223.5.5.5
subdomain.yourdomain.com https 看配置是否有问题。
举一个示例:查看
www.cloudflare.com 的 ECH
dig @
223.5.5.5
www.cloudflare.com https
结果是:
www.cloudflare.com. 1 IN HTTPS 1 . alpn="h3,h2" ipv4hint=104.16.123.96,104.16.124.96 ipv6hint=2606:4700::6810:7b60,2606:4700::6810:7c60
iOS 会使用 ipv4hint 和 ipv6hint 的地址去访问服务器,不再使用 A/AAAA 记录。如果你的 DNS type65( https)配置有误,或者是 DNS type65 的 ttl 有误,会导致 iOS 连接了发生错误。