我司有多个 CDN 加速域名,用以加速不同类型的资源(如音视频、图片、大的压缩包等等),而小程序中下载链接需要先在后台设置合法域名,且最多只能设置两个。
所以我想了一个解决方法,单独配置一个 API 域名,如 download.abc.com,将真正想下载的资源的路径以 query 的方式传递,后端做 302 重定向。如访问 http://download.abc.com/?file=http%3A%2F%2Ffile.abc.com%2Ftest.jpg 就会 302 重定向到 http://file.abc.com/test.jpg,以避开域名数量限制下载真正想下载的文件。
但实际中发现,IDE 中这样做完全没有问题;真机(Android & iOS)上却无法下载重定向后的资源,且 success、fail、complete 三个回调都不执行。通过 Fiddler 抓包后发现,实际上小程序已经请求了 302 重定向后的资源。
请问,这是小程序故意如此设计的吗?是否认为 302 后的域名是非法的?但实测中即使 302 到一个配置过的合法域名,也一样不执行回调。而且,如果直接尝试下载一个非法域名的话,会进入到 fail 回调中;使用 302 却不触发任何回调,这就很奇怪了。
现在是 2021 年 7 月,四年前的问题依旧,但好在现在合法域名可以设置多个了。
现在2024年,依旧存在这个问题,200个安全域名不够用
同问
楼主解决了吗
楼主解决了吗,同问