复现方法如下:
const axios = require("axios");
axios.post("https://dnspod.cn/Info.Version", "login_token=LOGIN_TOKEN&format=json", {'Content-Type': 'application/x-www-form-urlencoded'}).catch((err) => { console.log(err.toString());})
提示错误:
Error: write EPROTO 140286343113664:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:802:
应该不是环境的问题,换了好几台机器都这样,请问大家能复现吗
1
runtu2019 2019 年 5 月 26 日
禁用 https 验证,还有 User-Agent 是按照它文档里规定写的吗?
|
2
lihuimail 2019 年 5 月 26 日 via Android
ssl 版本问题
|
5
phy25 2019 年 5 月 27 日
并不能复现,我加了 done 可以吐响应内容出来。应该发一下 NodeJS 的版本以及有可能的话 OpenSSL 的版本。
另外请看 DNSPod 后台通知:“为提升整体业务安全等级,遵循最新行业标准,近期 DNSPod 会集中对网站的 SSL 证书进行升级。升级结束后,我们将会支持 HTTP/2 协议,TLS v1.2、TLS v1.3 协议。不再支持低于 TLS v1.2 版本( TLS v1.1、TLS v1.0 等)老旧协议。DNSPod API 旧的“用户名 + 密码”的鉴权方式已下线,请升级为更安全的 API Token 的方式。另请确保调用接口 url 为 https://dnsapi.cn ,避免 API 操作不当影响使用。” |