使用 TLS 1.0 连接到 IIS6 服务器时套接字在 TLSSocket.onHangUp 处挂起
socket hang up at TLSSocket.onHangUp when connecting to IIS6 server with TLS 1.0
这发生在 v4 - v7 的各种节点版本中,也发生在 AxiosJS 和 RequestJS 中。
典型错误信息:
{ Error: socket hang up
at TLSSocket.onHangUp
...
code: 'ECONNRESET',
原来是 IIS6 使用(现在)过时的 ssl 协议,NodeJS 的开发人员认为该协议不安全,被列为默认协议 ciphers
The connection to this site uses an obsolete protocol (TLS 1.0), andobsolete key exchange (RSA), and an obsolete cipher (3DES_EDE_CBC with HMAC-SHA1).
给fix/bypass这个
在 NodeJS 中,将 ciphers: 'DES-CBC3-SHA'
添加到请求选项。
在 Axios 中,添加下面的请求选项,
httpsAgent: new https.Agent({
ciphers: 'DES-CBC3-SHA'
})
在请求中,将下面添加到请求选项中,
agentOptions: {
ciphers: 'DES-CBC3-SHA'
}
查看更多信息:
https://github.com/nodejs/node/issues/10900#issuecomment-273834289
https://github.com/nodejs/node/issues/9845#issuecomment-264032107
这发生在 v4 - v7 的各种节点版本中,也发生在 AxiosJS 和 RequestJS 中。
典型错误信息:
{ Error: socket hang up
at TLSSocket.onHangUp
...
code: 'ECONNRESET',
原来是 IIS6 使用(现在)过时的 ssl 协议,NodeJS 的开发人员认为该协议不安全,被列为默认协议 ciphers
The connection to this site uses an obsolete protocol (TLS 1.0), andobsolete key exchange (RSA), and an obsolete cipher (3DES_EDE_CBC with HMAC-SHA1).
给fix/bypass这个
在 NodeJS 中,将 ciphers: 'DES-CBC3-SHA'
添加到请求选项。
在 Axios 中,添加下面的请求选项,
httpsAgent: new https.Agent({
ciphers: 'DES-CBC3-SHA'
})
在请求中,将下面添加到请求选项中,
agentOptions: {
ciphers: 'DES-CBC3-SHA'
}
查看更多信息:
https://github.com/nodejs/node/issues/10900#issuecomment-273834289
https://github.com/nodejs/node/issues/9845#issuecomment-264032107