cloudflare之workers 配置跨域引起费用血泪
精选 原创
©著作权归作者所有:来自51CTO博客作者子羽叔叔的原创作品,请联系作者获取转载授权,否则将追究法律责任
过完年刚开工,cf发来了12月份账单,一看傻眼了,wokers请求量一天超过100M,而我们开通的是一个月450美刀一千万次的请求(workers是按请求量收费的),这费用一下子翻倍,1月份费用会更多,细查之下是12月份中旬加的js和png域名跨域导致worker请求激增,当时加的时候完全没注意到,而我们回源的地址是s3存储桶
解决问题过程:
aws帮助文档:
https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/ManageCorsUsing.html
1、s3新建存储桶-设置公开访问
2、cf配置测试域名解析到s3地址
3、cf配置规则-主机标头覆盖(覆盖值还是s3地址)
4、s3存储桶配置跨域
[
{
"AllowedHeaders": [],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]

5、curl测试域名
curl -I -XGET -H "origin: https://xxx.com" -v "https://xxx.xxx.com/1.png"
#响应头返回access-control-allow-origin: *即为正常
6、浏览器测试
浏览器测试不生效,尝试刷新cf缓存,浏览器中也正常了
7、至此修改线上配置
测试后找出提示跨域的链接,再cf刷新缓存即可,至此cf workers请求量恢复正常