业务场景开发希望同源对应不同几条cdn线路,其中有阿里云cdn,火山云cdn,火山云cdn后面接入,源站要求一致维护一个源站点,那么就在火山cdn开通阿里云的对象存储源站绑定域名即可,如果源站oss是私有桶那么要绑定对应的key,否则回源有问题。
调试完毕以后测试下载暂时没问题,第二天查看日志发现有个问题,域名举例用abc表示吧,url类似这样的,测试确实下载不到apk文件。
https://loadn-patch.abc.com/andk/abc.apk
ApkDownloadForbidden
…
经查询问题原因在此:
出于安全考虑,自2023年08月15日起,针对该日期之后开通传输加速的Bucket,通过OSS传输加速域名(bucketname.oss-accelerate.aliyuncs.com或bucketname.oss-accelerate-overseas.aliyuncs.com)访问后缀为.apk或者.ipa的文件,使用URL签名或匿名访问请求将被阻断。服务器返回400错误,错误码为ApkDownloadForbidden。
解决方案
使用自有域名访问上述文件时将不会被阻断。如何使用自有域名访问OSS,请参见绑定自定义域名。
做绑定域名loadn-oss–patch.abc.com自定义域名;
选中添加cname记录同账号会自动添加了cname解析。
nslookup做测试看是否生效。
生效以后测试下loadn-oss–patch.abc.com/andk/abc.apk可以下载到apk文件。
正式业务还是购买一个https证书,申请购买证书,上传证书,生效即可。
自定义域名生效以后去火山云做cdn调整,此时需要用到自定义域名,那么就应该用源站域名填入域名,如果没特殊端口默认80,443即可
cdn 重新配置完毕可以下载到apk,其他资源下载测试也是正常的。至此cdn调整完成。