我正在尝试获取URL。该URL在浏览器中成功运行。我知道节点中的HTTPS通常由于missing root CAs而失败,但是错误(CERT_UNTRUSTED
)并不是我得到的错误(GET_SERVER_HELLO:sslv3 alert handshake failure
):
const superagent = require('superagent')
(async function(){var response = await superagent.get('https://uplinklabs.net')})()
节点失败:
> (node:30960) UnhandledPromiseRejectionWarning: Error: write EPROTO 101057795:error:14077410:SSL routines:SSL23_
GET_SERVER_HELLO:sslv3 alert handshake failure:openssl\ssl\s23_clnt.c:802:
at _errnoException (util.js:992:11)
at WriteWrap.afterWrite [as oncomplete] (net.js:864:14)
(node:30960) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throw
ing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catc
h(). (rejection id: 2)
这与不受信任的证书不同。 我为什么会收到此错误以及如何防止该错误?
答案 0 :(得分:0)
节点版本8(当前的LTS)不支持HTTP / 2(HTTP的最新版本)。另一方面,浏览器已经支持HTTP / 2。
节点10包含a number of changes to HTTP/2 support。升级到节点10将停止该错误不再发生。