jeessy2 / ddns-go

Simple and easy to use DDNS. Support Aliyun, Tencent Cloud, Dnspod, Cloudflare, Callback, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo...
MIT License
12.12k stars 1.4k forks source link

alidns sign is wrong 阿里云 无法更新 签名错误 #375

Closed HatsuneMona closed 2 years ago

HatsuneMona commented 2 years ago

问题描述

是否已搜索同类问题

环境

截图

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)的权限

其他:

jeessy2 commented 2 years ago

有可能是ID/Secret问题 可以提一个工单问下阿里云

Dlian-Zero commented 2 years ago

请问解决了吗?我用了一天正常,后面就提示这个了

Dlian-Zero commented 2 years ago

image

jeessy2 commented 2 years ago

请问解决了吗?我用了一天正常,后面就提示这个了

未遇到。检查你的AccessKey Secret正确与否

Dlian-Zero commented 2 years ago

请问解决了吗?我用了一天正常,后面就提示这个了

未遇到。检查你的AccessKey Secret正确与否

正确的,使用1天后今天上午就报错,家里爱快的ddns用的AccessKey Secret能正常访问,期间搞了ssl证书,现在重新安装ddns-go还是同样的报错

jeessy2 commented 2 years ago

重新生成一个试下

Dlian-Zero commented 2 years ago

重新生成一个试下

重新生成一个AccessKey Secret,已解决问题,谢谢

HatsuneMona commented 2 years ago

重新生成一个AccessKey Secret,已解决问题+1

我拿着之前的 AccessKey Secret ,使用阿里云官方的 SDK 调用,返回了同样的报错。

交流一下其他问题: 既然阿里云官方有提供 SDK 为什么还要在项目里使用 http.NewRequest 调用接口,自己实现一遍签名等操作呢?

jeessy2 commented 2 years ago

重新生成一个AccessKey Secret,已解决问题+1

我拿着之前的 AccessKey Secret ,使用阿里云官方的 SDK 调用,返回了同样的报错。

交流一下其他问题: 既然阿里云官方有提供 SDK 为什么还要在项目里使用 http.NewRequest 调用接口,自己实现一遍签名等操作呢?

阿里云提供的sdk打包后包太大,目的是减小包的大小

gmqiyue commented 1 year ago

重新生成一个AccessKey Secret,已解决问题+1 我拿着之前的 AccessKey Secret ,使用阿里云官方的 SDK 调用,返回了同样的报错。 交流一下其他问题: 既然阿里云官方有提供 SDK 为什么还要在项目里使用 http.NewRequest 调用接口,自己实现一遍签名等操作呢?

阿里云提供的sdk打包后包太大,目的是减小包的大小

大多少呢?感觉不用考虑包大小吧?2023年了,谁还缺那点空间~哈哈哈


我这边有同样问题,重建AccessKey Secret还是一样的错误