什么是 NSS 错误 -5961 (PR_CONNECT_RESET_ERROR)

什么是 NSS 错误 -5961 (PR_CONNECT_RESET_ERROR)

有人能告诉我“NSS 错误 -5961 (PR_CONNECT_RESET_ERROR)”的含义吗?

我尝试使用“https”协议连接到 bitbucket.org,但服务器拒绝了。然后,我尝试在命令行上使用 curl 并看到此输出。

# curl -v https://bitbucket.org
* About to connect() to bitbucket.org port 443 (#0)
*   Trying 131.103.20.168...
* Connected to bitbucket.org (131.103.20.168) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5961 (PR_CONNECT_RESET_ERROR)
* TCP connection reset by peer
* Closing connection 0
curl: (35) TCP connection reset by peer

使用 openssl,我得到了这个输出。

# openssl s_client -connect bitbucket.org:443 -msg
CONNECTED(00000003)
>>> TLS 1.2 Handshake [length 00f4], ClientHello
    01 00 00 f0 03 03 55 59 80 fa 72 25 f4 a5 84 49
... <I suspended this Hex value>
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 249 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

答案1

TCP 连接被对端重置

NSS 的错误与 openssl 的错误 (errno=104: ECONNRESET) 相同。这仅仅意味着对等端或中间的某个中间设备 (防火墙) 正在终止连接。

由于该网站可以从我这里访问,因此我建议你网站上的防火墙阻止该连接。对于 DPI 防火墙来说,这种行为相当典型,即允许初始 TCP 连接,但一旦你发送第一个数据(来自 TLS 握手的 ClientHello),它就会确定你的访问是否符合策略并让它通过或通过注入 TCP RST 来拒绝它。

答案2

yum 更新 curl

为我解决了这个问题。

相关内容