ddns-go
ddns-go copied to clipboard
阿里云解析失败(返回状态码: 400)
问题描述
阿里云请求失败
DNS服务商
Alidns(阿里云)
是否已搜索同类问题
已搜索,但未能解决
操作系统
Linux
架构
x86_64
版本
v6.0.2
安装方式
Docker
额外信息
2024/01/14 00:32:22 查询域名信息发生异常! 返回内容: {"RequestId":"CA434CC3-4F14-595D-99B0-0337C6259DF8","Message":"Specified time stamp or date value is expired.","Recommend":"https://api.aliyun.com/troubleshoot?q=InvalidTimeStamp.Expired&product=Alidns&requestId=CA434CC3-4F14-595D-99B0-0337C6259DF8","HostId":"alidns.aliyuncs.com","Code":"InvalidTimeStamp.Expired"} ,返回状态码: 400
操作系统时间不对
是否可以修改ddns-go容器的时区,修改为UTC
修改 TZ 变量,默认是 Asia/Shanghai。
https://github.com/jeessy2/ddns-go/blob/20f1b2963fa3307bea6d004c57073c0ffaa2aea0/Dockerfile#L19
docker run -e TZ="UTC" jeessy/ddns-go
时区问题已解决,出现了新的问题:Get "https://alidns.aliyuncs.com/": tls: failed to verify certificate: x509: certificate signed by unknown authority
时区问题已解决,出现了新的问题:Get "alidns.aliyuncs.com": tls: failed to verify certificate: x509: certificate signed by unknown authority
可能是因为时间不正确导致的证书问题,加 skipVerify 参数:
docker run jeessy/ddns-go -skipVerify
时间看起来是正确的,但还是会报时间的问题(截图为容器中时间)
时间是对的(UTC+8)但时区是错的(UTC)。
主机的时间和时区正确吗?
安装了个zimaos,那个系统是UTC时区的,但时间竟然是正确的,,所以docker里时区调整为UTC时,时间就是正确的,但时区就不对了,没弄明白,觉得不是容器
在主机上运行 sudo hwclock --verbose 看看硬件时钟的时间正确吗?
这个系统甚至精简掉了命令行,无法对系统做具体操作,暂时没有找到解决办法,已经把此问题提交给了官方。
主机时间修改时间为UTC时间,减8个小时
首先主机时区显示的是UTC,但时间是正确的中国时间 其次,如果ddns-go容器启动时使用TZ=UTC,那么容器中时区为UTC,时间也为正确时间, 如果不更改TZ,时区为CTS,时间为CTS+8
时区和具体时间要匹配。UTC时区,时间又是+8小时。说明系统时间快了8小时, 阿里云要30分钟内
@jeessy2 已修改环境变量TZ=UTC-8,系统时间变为了中国时间。重启过容器依旧报错。
# 系统运行date 命令结果如下,为中国时间
Sun Feb 4 16:20:58 UTC 2024
目前的报错日志
2024/02/04 08:25:05 查询域名信息发生异常! 返回内容: {"success":false,"errors":[{"code":6003,"message":"Invalid request headers","error_chain":[{"code":6111,"message":"Invalid format for Authorization header"}]}],"messages":[],"result":null} ,返回状态码: 400
通过date命令行获取的系统时间为中国时间,但ddns-go日志的时间不对。报错问题依旧存在
重新生成token试下