ddns-go icon indicating copy to clipboard operation
ddns-go copied to clipboard

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

Open HatsuneMona opened this issue 2 years ago • 1 comments

问题描述

  • 阐述 记录/问题/事件/... 发生的背景
  • 更新阿里云域名时,阿里云返回签名错误。

是否已搜索同类问题

  • [ 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)无问题,更新正常。

HatsuneMona avatar Sep 11 '22 08:09 HatsuneMona

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

jeessy2 avatar Sep 11 '22 09:09 jeessy2

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

Dlian-Zero avatar Sep 26 '22 00:09 Dlian-Zero

image

Dlian-Zero avatar Sep 26 '22 01:09 Dlian-Zero

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

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

jeessy2 avatar Sep 26 '22 02:09 jeessy2

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

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

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

Dlian-Zero avatar Sep 26 '22 03:09 Dlian-Zero

重新生成一个试下

jeessy2 avatar Sep 26 '22 04:09 jeessy2

重新生成一个试下

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

Dlian-Zero avatar Sep 26 '22 04:09 Dlian-Zero

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

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

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

HatsuneMona avatar Sep 26 '22 05:09 HatsuneMona

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

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

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

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

jeessy2 avatar Sep 26 '22 05:09 jeessy2

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

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

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


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

gmqiyue avatar Oct 11 '23 17:10 gmqiyue