CURLはそれ自体に接続されていません。

CURLはそれ自体に接続されていません。

CURLが自分のサーバーに接続できないという奇妙な問題が発生しました。たとえば、私がサーバーにいる場合example.com

wget https://example.com/  <--- WORKS FIND

curl https://example.com gets error: 35 SSL connect error

Curlは他の外部SSLアドレスへの接続にはうまく機能しますが、それ自体では機能しません。

カールはSSLなしで自分で接続できます。

これはカール-vの出力です:

curl -v https://example.com/
* About to connect() to example.com port 443 (#0)
*   Trying 50.70.60.100... connected
* Connected to example.com (50.70.60.100) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -12286
* Error in TLS handshake, trying SSLv3...
> GET / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: example.com
> Accept: */*
>
* Connection died, retrying a fresh connect
* Closing connection #0
* Issue another request to this URL: 'https://example.com/'
* About to connect() to example.com port 443 (#0)
*   Trying 50.70.60.100... connected
* Connected to example.com (50.70.60.100) port 443 (#0)
* TLS disabled due to previous handshake failure
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -12286
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error

答え1

NSS error -12286

~によるとNSS文書,-12286 は次のことを意味します。

SSL_ERROR_NO_CYPHER_OVERLAP

「同僚と安全に通信できません。汎用暗号化アルゴリズムはありません。」

ローカルおよびリモートシステムは共通の暗号スイートを共有しません。これは、両端の構成が間違っているためです。これは、RSA 鍵交換アルゴリズムで非 RSA 証明書を使用するようにサーバーが正しく構成されていないためです。

使用するパスワードとその--ciphersオプションをカールに伝えることができます。

バラよりここサーバーでサポートされているパスワードのリストを列挙する方法(またはアクセス権がある場合はWebサーバー構成を確認してください)。

関連情報