直接描述问题:
按照网上的资料配置了app-site-association文件,不带后缀名,跟运维讲放在https://www.域名.com/.well-known/app-site-association 路径下,结果访问不到
结论:waf针对app-site-association路径配置跳过拦截后成功
第一次检查:
文件名嘎嘎正确
文件路径嘎嘎正确
结果:使用苹果验证链接app-site-association.cdn-apple.com/a/v1/域名.com…
第一次反馈运维无法访问(测试环境)
- 检查文件名嘎嘎正确
- 文件路径嘎嘎正确
- 检查Nginx配置正确
- 检查网络拦截没记录
- 刷新cdn缓存正常
- 检查雷池拦截配置正常
- 最后发现第三方CDN做了拦截,解决后测试服生效
第二次正式服配置
因为域名访问是直接访问到h5首页的,所以需要联系前端大哥把app-site-association放在前端代码里,在前端代码打包时候配置文件路径,不然手动放上去的文件会在下一次h5打包时被删掉。 放好了,又访问不到
又开始重新排查
配置Nginx 添加add_header Content-Type application/json 访问不到
开始暴躁,移除全部安全产品,不行
开始怀疑蜘蛛拦截(防止爬虫的一种方式)拦截出现了问题,排查之后无异常
开始邪修,怀疑苹果cdn有问题(实际上一点问题都没有)
此刻主包的心情已经开始打算摆烂 突然发现了使用法国IP访问出现了这个页面
内心开始有点兴奋,感觉和waf拦截有关系。 开始反馈运维,是否可以对单个文件配置拦截规则
重新使用苹果验证链接app-site-association.cdn-apple.com/a/v1/域名.com
成功了!!! 后来总结,当时移除全部安全产品的时候,应该是waf没有移除成功,所以后来针对waf进行访问路径规则配置的时候才是真正的问题所在。