过完年刚开工,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": []
}
]

cloudflare之workers 配置跨域引起费用血泪_cdn

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请求量恢复正常