创建Cloudflare CDN

网友投稿 358 2022-08-31

创建Cloudflare CDN

背景说明:

XX全球版项目CDN,

原有改之前:主CDN为Akamai,备CDN为Cloudflare。

计划改之后:主CDN为Cloudflare,备CDN为Akamai。

原因:Akamai CDN的流量成本大概是3毛多1GB是比较贵的,比Cloudflare贵很多,故现在为了节省成本,经领导同意,计划将主CDN切为Cloudfalre,备的CDN切为Akamai。从Akamai切为Cloudflare其CDN成本可以节约一半左右的费用。

注意:文档中项目敏感信息已打码。文档中所有域名使用:baidu.com代替

感谢辉哥提供的资料

参考文档

# Cloudflare CDN相关api的文档:
​​​ ​​ ​​ ​​CDN

3.测试Cloudflare CDN

正常如上创建完成了,接着就可以进行测试和域名解析了。

1、测试获取绑定的随机Cloudflare CDN边缘IP 注:Cloudflare边缘CDN为以.cdn.cloudflare.net 结尾,所以如下 dig时要加上 .cdn.cloudflare.net [root@wyh-test ~]# dig baidu.com.cdn.cloudflare.net +shortxx.18.9.27xx.18.8.27 2、测试参数后的 IP 填写上条命令获取的任意一个边缘ip即可[root@wyh-test ~]##测试 80curl --resolve baidu.com:80:xx.18.9.27 -svo /dev/null #测试 443[root@wyh-test ~]#curl --resolve baidu.com:443:xx.18.9.27 -svo /dev/null

4.配置域名解析到Cloudflare CDN's CNAME

通过CNAME记录将流量指向Cloudflare CDN,具体操作如下:

登陆域名解析网站(比如AWS域名解析,阿里云解析,腾讯云域名解析网站等,根据实际的来),这里域名​​baidu.com​​是AWS S3域名解析。

则登录AWS S3域名解析,将​​baidu.com​​​解析改为CNAME类型,值为​​baidu.com.​​​​cdn.cloudflare.net​​。

5.Cloudflare API进行Cloudflare CDN自动刷新

首先,要获取API授权,具体见:​​通过Cloudflare API进行CDN刷新​​

自动或者手动刷新根据自己实际情况选择。(脚本的实现只是提供一个思路,要根据实际项目情况的目录来更改)

5.1 配置腾讯云云函数调用API自动刷新

5.2 配置脚本调用API来刷新

万一云函数自动刷新有问题,可以使用此脚本方法进行刷新。

1. [root@xx ~]# cat /data/infra/scripts/cloudflare_cdn_refresh_dir.py2. # -*- coding: UTF-8 -*-3. # version: by san at 202012024. # cloudflare refresh api5. import json6. import requests7. import sys8. import copy9. 10. # 针对目录刷新函数11. def send_msg_dir(api, url):12. headers = {'Content-Type': 'application/json; charset=utf-8','X-Auth-Email': 'xx@qq.jp', 'X-Auth-Key': '自己的密钥'}13. data = {14. "prefixes": url15. }16. r = requests.post(api, data=json.dumps(data), headers=headers)17. return r.text18. 19. # 针对文件刷新函数20. def send_msg_url(api, url):21. headers = {'Content-Type': 'application/json; charset=utf-8','X-Auth-Email': ' xx@qq.jp', 'X-Auth-Key': '自己的密钥'}22. data = {23. "files": url24. }25. r = requests.post(api, data=json.dumps(data), headers=headers)26. return r.text27. 28. if __name__ == '__main__':29. #url_dir = ["baidu.com/HotfixAssets/Global_OBT"]30. url_dir = ["baidu.com/HotfixAssets/Global_7.0"]31. url_file = copy.deepcopy(url_dir)32. url_file[0] = "+ url_file[0]33. mversion=sys.argv[1]34. version=sys.argv[2]35. ios=sys.argv[3]36. number=sys.argv[4]37. url_dir[0] = url_dir[0] + "/" + mversion + "." + version + "/" + ios + "/" + number38. url_file[0] = url_file[0] + "/" + mversion + "." + version + "/" + ios + "/" + "PkgVersion.json"39. print(type(url_dir),url_dir,type(url_file),url_file)40. api = ' print(send_msg_url(api, url_file))42. print(send_msg_dir(api, url_dir)

6.注意事项

1.实际是一定要先创建一个测试的Cloudflare CDN域名 ​​www-test.baidu.com​​,测试没问题,然后再进行如上步骤的操作。

2.如果上传的是自有证书,要注意域名证书的有效期,在到期之前要及时续期并上传新的续期后的域名证书到Cloudflare。

作者:​​小家电维修​​

转世燕还故榻,为你衔来二月的花。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:创建Akamai CDN
下一篇:DoMarketing-营销智库:国潮水墨中国风,奥利奥和周杰伦又在搞事了!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~