iOS Universal Link问题

iOS Universal Link问题,第1张

基本的配置网上都有文章,这里主要说下配置完成后,遇到的奇葩问题。

比如在 Associate Domains 中设置了 applinks:api.example.com 和 applinks:apitest.example.cn ,一个用于线上环境,一个用于测试环境。

发现在备忘录中,长按 https://api.example.com 直接打开了浏览器,不会跳转到app,而 https://apitest.example.cn 则可以。

首先,在iOS14之前,苹果是通过首次安装app的时候,手机请求的这两个域名下的 apple-app-site-association 文件的。这个时候通过 charles 抓包工具就可以看到。

然而,在iOS14之后,苹果是通过它自己的CDN服务器去请求的,并且按照文档,是在安装的24小时内请求(实测没有那么大的延迟),一周刷新缓存一次(CDN服务器会自动去根域名下请求)。

那么如何验证CDN请求到了资源呢?

可以在浏览器输入 https://app-site-association.cdn-apple.com/a/v1/YourDomain 这个链接查看,如果返回了 apple-app-site-association 的内容,表示已经成功。

我遇到的问题即是替换为线上环境后,请求失败。

通过在终端输入 curl -v https://app-site-association.cdn-apple.com/a/v1/YourDomain ,可以看到详细的网络信息。

一般情况下,通过这个链接去连接苹果CDN服务器是通的,问题在于在目录 a/v1 下,是否有对应的JSON文件。

根据以上错误,我们推测是CDN服务器请求我们的服务器时,返回了405导致的。

联系后台排查,联系运维排查,最终发现,是因为运维为了安全考虑,墙了大部分外网ip,导致苹果CDN服务器无法请求成功。

最终,运维对 https://api.axample.com/.well-known 这个目录做了处理,开放了权限。再次使用 curl -v https://app-site-association.cdn-apple.com/a/v1/api.example.com 请求确实也成功了。

以前是:

后面变为了:

至于什么版本,什么时候变得,没有找到。为了兼容,最好使用以前的版本。

这需要在QQ后台配置Universal Link并且校验通过。而且貌似QQ不认新的文件格式,这也是为什么4.1说最好使用老版本的。

在常见的请求场景中,往往十之八九都是来自于资源的访问,那么如何将服务器里的资源js.,css,jpg等静态资源完美的平滑迁移到cdn上,让cdn应对资源的访问,从而减轻对服务器的压力呢?

CDN+OSS+回源服务器

1.申请域名

2.获得一个SSL证书

3.申请一个OSS

第一步:

我们在七牛申请一个OSS对象存储的空间:

第二步:

将其绑定一个域名:

第三步:

1.等待txt验证

第四步:

1.等cdn域名验证通过,将cdn回源到我们开始创建的im-oss空间

至此就完成了cdn与oss的配置,具体流程是 用cdn域名访问静态资源后,如cdn服务器上没有该资源将立即回源到oss,请求oss对象存储里的资源,如果oss也没有该资源,oss将立即回源访问我们的原始服务器抓取文件并存储到oss,并缓存到cdn服务器

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

简单的来说,就是把原服务器上数据复制到其他服务器上,用户访问时,那台服务器近访问到的就是那台服务器上的数据。CDN加速优点是成本低,速度快。适合访问量比较大的网站。

扩展资料

在传统的动态系统的访问中,用户对网络的请求过程,一般需要经过网络中多台路由器的传输,最终将发送的请求交于动态系统来处理,但是由于IP网络本身的“尽力而为的原则”、网络链路中复杂的环境及硬件的不可靠性的确实存在,致使用户要出现重复发送的请求的现状,所以最终导致用户的请求在提交的过程中出现等待、数据加载时间过长的一些现象的普遍存在,这些在线提交式系统的缓慢直接地影响到办公人员的工作效率,这也是制约着很多大型企业在协同办公OA、ERP、SAP等信息化建设中,出现最多的问题。

而CDN分发解决方案解决了与静态网站相关的性能和可靠性问题,而在当今在线业务体验中,与分发静态和动态元素和应用相关的独特挑战,则由速网的动态网站加速来解决。

CDN能几乎涵盖国内所有线路。而在可靠性上, CDN 在结构上实现了多点的冗余,即使某一个节点由于意外发生故障,对网站的访问能够被自动导向其他的健康节点进行响应。CDN能轻松实现网站的全国铺设,不必考虑服务器的投入与托管、不必考虑新增带宽的成本、不必考虑多台服务器的镜像同步、不必考虑更多的管理维护技术人员。

参考资料:百度百科——内容分发网络


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/564621.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-02
下一篇2023-07-02

发表评论

登录后才能评论

评论列表(0条)

    保存