web-dev-qa-db-ja.com

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
---
22
microstrip

ピアによるTCP接続のリセット

NSSからのこのエラーは、opensslで発生するエラーと同じです(errno = 104:ECONNRESET)。これは単に、ピアまたはその中間(ファイアウォール)のミドルボックスが接続を終了していることを意味します。

私の場所からサイトにアクセスできるので、サイトにファイアウォールがあり、接続をブロックしていることをお勧めします。最初のTCP接続が許可されるという点で、DPIファイアウォールの動作はかなり典型的ですが、最初のデータ(TLSハンドシェイクからのClientHello)を送信すると、ポリシーによってアクセスが許可されているかどうかを判断し、 TCP RSTを挿入することで、それを通過または拒否します。

23
Steffen Ullrich

yum update curl

私のために問題を解決しました。

1
Arkadiy Bolotov