zfb132 / qcloud-ssl-cdn

使用API实现腾讯云CDN服务自动更换自己申请的Let's Encrypt证书
Apache License 2.0
56 stars 29 forks source link

cdn刷新为啥只刷新国内呢 #5

Closed monlor closed 2 years ago

zfb132 commented 2 years ago

这是我的个人需求
https://github.com/zfb132/qcloud-ssl-cdn/blob/41f1f0f36925b0b16c4d8ef41ddc6f06b6f6477b/main.py#L142
因为我的源站是面向国外的,所以对于国外用户的访问不需要用到CDN,也就不需要CDN刷新

monlor commented 2 years ago

刷新位置可以添加参数控制么,我觉得这个项目非常好,我准备制作一个Docker镜像来使用,更方便 还有关于sitemap,是否也可以加个参数控制,因为可能有的博客没有sitemap

zfb132 commented 2 years ago

可以,非常欢迎提交PR

monlor commented 2 years ago

刷新区域 无此参数时,默认刷新加速域名所在加速区域 填充 mainland 时,仅刷新中国境内加速节点上缓存内容 填充 overseas 时,仅刷新中国境外加速节点上缓存内容 指定刷新区域时,需要与域名加速区域匹配

我看了下官方介绍,这个选项是不是没有必要,不填默认刷新你配置的加速区域

zfb132 commented 2 years ago

是的,我小修一下提交一版新代码

zfb132 commented 2 years ago

@monlor 已经修改了,你可以测试一下

monlor commented 2 years ago

好的👌

zfb132 commented 2 years ago

@monlor 有一个问题,如果cdn_regionglobal,那么它的刷新URL配额是多少呢?
cdn.get_cdn_purge_url_info(cdn_client)函数返回内容示例

0:{"Batch": 1000, "Total": 20000, "Available": 19784, "Area": "mainland"}
1:{"Batch": 1000, "Total": 20000, "Available": 20000, "Area": "overseas"}
zfb132 commented 2 years ago

@monlor 试试这一版?
https://github.com/zfb132/qcloud-ssl-cdn/commit/09f79d4e54e7d601282913ddcab14ec5c26b4a56

monlor commented 2 years ago

ok 👍

monlor commented 2 years ago

https://github.com/zfb132/qcloud-ssl-cdn/blob/09f79d4e54e7d601282913ddcab14ec5c26b4a56/main.py#L59 这里的删除证书会有个问题,如果我的域名申请了腾讯云的证书删除会报错,可否只删除From=Upload的证书

monlor commented 2 years ago

奇怪,我刚删除报错了,第二次成功了

image
monlor commented 2 years ago

刷新url的接口增加下这个参数吧,如果url中包含中文会报错

image
monlor commented 2 years ago

我的预热没有识别出来url,刷新识别出来,只是执行刷新的时候报错,我瞅瞅

获取指定cdn基本信息成功 获取CDN预热配额和每日可用量信息成功 成功预热0个URL 实例化cdn client成功 获取指定cdn基本信息成功 获取CDN刷新URL配额和每日可用量信息成功

zfb132 commented 2 years ago

https://github.com/zfb132/qcloud-ssl-cdn/blob/09f79d4e54e7d601282913ddcab14ec5c26b4a56/main.py#L59

这里的删除证书会有个问题,如果我的域名申请了腾讯云的证书删除会报错,可否只删除From=Upload的证书

第一次与第二次运行的结果为什么不同,这个问题我也没办法测试

刷新url的接口增加下这个参数吧,如果url中包含中文会报错

我明天给它加一下

我的预热没有识别出来url,刷新识别出来,只是执行刷新的时候报错

这个预热和刷新功能我是在自己的CDN加速域名测试成功后才更新的代码(唯一的区别我的那个是国内加速),所以这个问题可能需要麻烦你在自己那里调试解决

monlor commented 2 years ago

预热的问题时这里没有加global的判断逻辑: https://github.com/zfb132/qcloud-ssl-cdn/blob/09f79d4e54e7d601282913ddcab14ec5c26b4a56/main.py#L111

if cdn_region == 'global':
    cdn_region = ['mainland', 'overseas']
else:
    cdn_region = [cdn_region]
zfb132 commented 2 years ago

预热的问题时这里没有加global的判断逻辑:

https://github.com/zfb132/qcloud-ssl-cdn/blob/09f79d4e54e7d601282913ddcab14ec5c26b4a56/main.py#L111

if cdn_region == 'global':
    cdn_region = ['mainland', 'overseas']
else:
    cdn_region = [cdn_region]

确实忘了给预热功能更新代码了