ddns-go
ddns-go copied to clipboard
alidns sign is wrong 阿里云 无法更新 签名错误
问题描述
- 阐述 记录/问题/事件/... 发生的背景
- 更新阿里云域名时,阿里云返回签名错误。
是否已搜索同类问题
- [ x ] 已搜索未能解决
- [] 未搜索
环境
- 操作系统: Kubuntu 21.04 x86_64
- ddns-go版本: v4.0.4
- 安装方式: docker/服务: 服务
截图
ddns-go日志输出:
{
"RequestId": "00000000-0000-0000-0000-000000000000", // 脱敏处理
"Message": "Specified signature is not matched with our calculation. server string to sign is:GET&%2F&AccessKeyId%3DAAAABBBBxxxxxxxxxxx0000%26Action%3DDescribeSubDomainRecords%26DomainName%3Dexample.com%26Format%3DJSON%26SignatureMethod%3DHMAC-SHA1%26SignatureNonce%3D1662880999662940380%26SignatureVersion%3D1.0%26SubDomain%3D%252A.example.com%26Timestamp%3D2022-09-11T07%253A23%253A19Z%26Type%3DA%26Version%3D2015-01-09",
"Recommend": "https://next.api.aliyun.com/troubleshoot?q=SignatureDoesNotMatch&product=Alidns",
"HostId": "alidns.aliyuncs.com",
"Code": "SignatureDoesNotMatch"
} ,返回状态码: 400
ddns-go 配置文件:
ipv4:
enable: true
gettype: url
url: https://myip.ipip.net
netinterface: ""
domains:
- xxx.example.com
ipv6:
enable: false
gettype: url
url: https://speed.neu6.edu.cn/getIP.php
netinterface: ""
ipv6reg: ""
domains:
- xxx.example.com
dns:
name: alidns
id: 脱敏
secret: 脱敏
user:
username: 脱敏
password: 脱敏
webhook:
webhookurl: ""
webhookrequestbody: ""
notallowwanaccess: true
ttl: ""
阿里云后台记录日志:略
阿里云子账号权限: AliyunDNSFullAccess系统策略 | 管理云解析(DNS)的权限
其他:
- 我要更新的域名包含 通配符
*
,域名为*.xxx.yyyyyyy.com
- 同样的配置,腾讯云(dnspods)无问题,更新正常。
有可能是ID/Secret问题 可以提一个工单问下阿里云
请问解决了吗?我用了一天正常,后面就提示这个了
请问解决了吗?我用了一天正常,后面就提示这个了
未遇到。检查你的AccessKey Secret正确与否
请问解决了吗?我用了一天正常,后面就提示这个了
未遇到。检查你的AccessKey Secret正确与否
正确的,使用1天后今天上午就报错,家里爱快的ddns用的AccessKey Secret能正常访问,期间搞了ssl证书,现在重新安装ddns-go还是同样的报错
重新生成一个试下
重新生成一个试下
重新生成一个AccessKey Secret,已解决问题,谢谢
重新生成一个AccessKey Secret,已解决问题+1
我拿着之前的 AccessKey Secret ,使用阿里云官方的 SDK 调用,返回了同样的报错。
交流一下其他问题:
既然阿里云官方有提供 SDK 为什么还要在项目里使用 http.NewRequest
调用接口,自己实现一遍签名等操作呢?
重新生成一个AccessKey Secret,已解决问题+1
我拿着之前的 AccessKey Secret ,使用阿里云官方的 SDK 调用,返回了同样的报错。
交流一下其他问题: 既然阿里云官方有提供 SDK 为什么还要在项目里使用
http.NewRequest
调用接口,自己实现一遍签名等操作呢?
阿里云提供的sdk打包后包太大,目的是减小包的大小
重新生成一个AccessKey Secret,已解决问题+1 我拿着之前的 AccessKey Secret ,使用阿里云官方的 SDK 调用,返回了同样的报错。 交流一下其他问题: 既然阿里云官方有提供 SDK 为什么还要在项目里使用
http.NewRequest
调用接口,自己实现一遍签名等操作呢?阿里云提供的sdk打包后包太大,目的是减小包的大小
大多少呢?感觉不用考虑包大小吧?2023年了,谁还缺那点空间~哈哈哈
我这边有同样问题,重建AccessKey Secret还是一样的错误