DNSAPI,多个域名在同一个供应商下的不同解析账号,多个AccessKey和SecretKey能否兼容?
比如内地主要服务商阿里云,多个不同账号下或者多个不同子账号下,不同的accesskey/secretkey管理不同的域名解析
因为看.acme.sh目录下account.conf内,采用 SAVED_Ali_Key= SAVED_Ali_Secret=
保存dnskey
做一个新的域名就覆盖了旧的账号配置
如果A域名和B域名需要在同一个边缘https服务器生成证书,而这两个域名都是阿里云解析,不在一个账号下,不同的accesskey,这样自动续期是不是就不能正常工作了?
比如内地主要服务商阿里云,多个不同账号下或者多个不同子账号下,不同的accesskey/secretkey管理不同的域名解析
因为看.acme.sh目录下account.conf内,采用 SAVED_Ali_Key= SAVED_Ali_Secret=
保存dnskey
做一个新的域名就覆盖了旧的账号配置
如果A域名和B域名需要在同一个边缘https服务器生成证书,而这两个域名都是阿里云解析,不在一个账号下,不同的accesskey,这样自动续期是不是就不能正常工作了?
直接找到对应的dnsapi文件 复制 比如 dns_ali.sh 复制 dns_alia.sh 然后批量替换dns_alia.sh 中的 ALI ali Ali_API="https://alidns.aliyuncs.com/" 这个注意别把地址也改了 ALI 替换为 ALIA ali 替换为 alia 文件中填写你的key secret
acme.sh --issue --dns dns_alia -d *.domain.com -d domain.com
比如内地主要服务商阿里云,多个不同账号下或者多个不同子账号下,不同的accesskey/secretkey管理不同的域名解析 因为看.acme.sh目录下account.conf内,采用 SAVED_Ali_Key= SAVED_Ali_Secret= 保存dnskey 做一个新的域名就覆盖了旧的账号配置 如果A域名和B域名需要在同一个边缘https服务器生成证书,而这两个域名都是阿里云解析,不在一个账号下,不同的accesskey,这样自动续期是不是就不能正常工作了?
直接找到对应的dnsapi文件 复制 比如 dns_ali.sh 复制 dns_alia.sh 然后批量替换dns_alia.sh 中的 ALI ali Ali_API="https://alidns.aliyuncs.com/" 这个注意别把地址也改了 ALI 替换为 ALIA ali 替换为 alia 文件中填写你的key secret
acme.sh --issue --dns dns_alia -d *.domain.com -d domain.com
good idea! thanks
建议新建不同的 linux user 账户来运行acme.sh, 每个账户可以使用独立的 api key. linux 下 新建用户的成本很低.
不建议直接改源码. 如果更新版本, 你该的源码就会被覆盖.
建议新建不同的 linux user 账户来运行acme.sh, 每个账户可以使用独立的 api key. linux 下 新建用户的成本很低.
不建议直接改源码. 如果更新版本, 你该的源码就会被覆盖.
显然大佬的方案没有任何可操作性
能有一堆在不同账号下的域名,肯定是大型公司生产环境,客户自带域名来的
大公司,一个人能在服务器开一个账号就不容易了,连带着能reload生产环境的服务重置证书
不可能开一堆账号,甚至还要每个都给授权超级权限
另一个方案是, 给 acme.sh 提供多个 data folder, 这样数据互相独立.
~/acmedata1/
~/acmedata2/
~/acmedata3/
在运行的时候指定不同的 data folder.
acme.sh --config-home ~/acmedata1/ --issue .....
acme.sh --config-home ~/acmedata2/ --issue .....
为了能自动更新, 需要手动加 crontab
40 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --config-home /root/acmedata1 > /dev/null
40 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --config-home /root/acmedata2 > /dev/null
40 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --config-home /root/acmedata3 > /dev/null
另一个方案是, 给 acme.sh 提供多个 data folder, 这样数据互相独立.
~/acmedata1/ ~/acmedata2/ ~/acmedata2/在运行的时候指定不同的 data folder.
acme.sh --config-home ~/acmedata1/ --issue ..... acme.sh --config-home ~/acmedata2/ --issue .....为了能自动更新, 需要手动加 crontab
40 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --config-home /root/acmedata1 > /dev/null 40 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --config-home /root/acmedata2 > /dev/null 40 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --config-home /root/acmedata3 > /dev/null
其实不如上面的用户的方案靠谱
还有,acme.sh的自动更新会删除多出来的文件么?按说不是应该做覆盖而不是删除自己编写的新api
不会删除多余的文件, 只会覆盖自己的已知的文件.
后面考虑加一个开关, 让 api key 保存在 单个域名的配置里面, 而不是全局保存.
这样也有弊端, 想法, 没有时间表.
后面考虑加一个开关, 让 api key 保存在 单个域名的配置里面, 而不是全局保存.
这样也有弊端, 想法, 没有时间表.
嗯,我只是提一下这种问题,没有什么紧迫性,暂时环境按照楼上大佬的办法配置了
@realpg 我也是这样做的,更新版本要注意备份一下新建的api文件
@realpg 我也是这样做的,更新版本要注意备份一下新建的api文件
基本不更新版本,而且把那些新建的api文件chattr +i了不会没了
其实可以用 Ali_Key='' Ali_Secret='xxx' acme.sh --force --issue xxxxxxx 这样的方式调用