-
-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: Alibaba Cloud API #5294
Conversation
Welcome |
deploy/ali_cdn.sh
Outdated
return 1 | ||
fi | ||
|
||
# shellcheck disable=SC2034 | ||
Ali_API="https://cdn.aliyuncs.com/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
两边不要定义重名的变量. 这个改个名.
然后修改 _ali_rest() 把api传进去就好了.
基本没啥问题, 继续. |
@Neilpang 你看下现在这个模式可以吗?参考每个 rest 之前通过一个函数设置 |
89d48e9
to
fca6e9b
Compare
@Neilpang 我跑了 DNS-API 的测试,发现部分用例(FreeBSD和OpenBSD)会添加值为 日志如下:
我觉得是测试脚本的问题,这个错误看起来和我当前的改动没有关系,而且在这之前有大量的测试用例都能成功通过。 事实上我也把我当前的分支拉取到正式环境中进行了一次 force renew 测试,能够正确签发并部署新证书到阿里云CDN。 |
我一会修测试 |
修了 , 你再试试 |
@Neilpang https://github.com/PMExtra/acme.sh/actions/runs/10937323435 Actions 测试完全通过了,实际部署我也验证过了,如果没有别的问题,我认为可以合入了。 |
deploy/ali_cdn.sh
Outdated
Ali_API="https://cdn.aliyuncs.com/" | ||
# Load dnsapi/dns_ali.sh to reduce the duplicated codes | ||
# https://github.com/acmesh-official/acme.sh/pull/5205#issuecomment-2357867276 | ||
dnsapi_ali="$(_findHook "" "$_SUB_FOLDER_DNSAPI" dns_ali)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
把这段加载代码放到 ali_cdn_deploy 函数里面去, 这样 _findHook 第一个参数可以传 "$_cdomain"
#################### Private functions below ################################## | ||
#################### Alibaba Cloud common functions below #################### | ||
|
||
_prepare_ali_credentials() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个函数的所有调用地方, 都没有判返回值. 如果出错了,没法中止
@Neilpang 随机串为空的问题似乎没有完全解决,在MacOS测试上又出现了。https://github.com/PMExtra/acme.sh/actions/runs/10954656359/job/30418361264 |
貌似域名已经随机了. 你检查一下是不是别的问题. |
https://github.com/acmesh-official/acmetest/blob/master/letest.sh#L1504-L1507
测试过后会残留一些解析记录,其中问题最大的就是这个没有后缀的 |
我确认过,我修改后的 dns_ali 至少在大多数情况下 我试过正常走一遍 issue 或者 --renew --force 的流程,执行成功是不会残留 TXT 记录的。 这些残留的TXT记录应该是只在 acmetest 下出现。 |
这个名字不会随机: acmetestXyzRandomName |
我感觉现在有三个问题:
对于 1 和 2,要不考虑一下 事实上 tr 可能是多余的,根据 RFC1464 :
所以 dnsapi 应当正确处理包含符号的 TXT 记录,对特殊符号进行转义或者URL编码。 对于 3 我还在找原因。 |
可以 |
#5205 (comment)
@Neilpang 这是基于以上讨论的初步修改版本,尚未测试,只是先看下这个重构思路是否符合预期。