$ curl -I https://9.185.173.135
curl: (35) Unknown SSL protocol error in connection to 9.185.173.135:443
これは私がアクセスする必要がある安全なページです。しかし、証明書ファイルを取得する方法がわかりません。 Firefoxを使おうとしましたが、URLを入力するとSSL証明書を取得できませんでした。
$ curl -I http://9.185.173.135
HTTP/1.1 200 OK
Content-Length: 686
Content-Type: text/html
Content-Location: http://9.185.173.135/Default.htm
Last-Modified: Mon, 16 Mar 2009 05:05:38 GMT
Accept-Ranges: bytes
ETag: "a851dbd8f4a5c91:d41"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Tue, 13 Jul 2010 04:09:35 GMT
サーバーは私のラップトップから間違いなく到達可能です。証明書ファイルを取得したら、それをFirefoxにインポートし、資格情報を使用して認証に合格できると思います(ユーザー名/パスワードはすでに取得しています)。
申し訳ありませんが、私はセキュリティの専門家ではありません。他に試すことができるものはありますか?
よろしくお願いします。
ルディへ:ヒントをありがとう、それは私に地獄の多くの情報を教えてくれます。
どういうわけか、保護されたページの管理者は、証明書の状態を毎日「更新」します。そのため、昨日はアクセスできなくなりましたが、寛大に別の証明書を取得してFirefoxの例外リストに追加することができます。
ですから、すべてがうまくいっていて、昨日の経験から本当に何かを学びました。
これを試して
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3); // Force SSLv3 to fix Unknown SSL Protocol error
私は同様の問題を抱えていました:
curl https://localhost:3000
...
curl: (35) Unknown SSL protocol error in connection to localhost:-9847
(ポート3000を要求したので、その番号-9847がどこから来たのかわかりません)
修正:ポート3000のサーバーが「https」ではなく「http」を実行していたことが判明しました。
私は私のために問題を修正するいくつかの解決策を持っています:
1] curl/php/Apacheを更新してみてください[yum update
]
2] Apacheを再起動します
それらは私のために働いた!
Eclipseからデプロイされたローカルホスト上のTomcatサーバーに対してcurl/httpieを実行すると、同じエラーが発生しました。 Eclipseによってデプロイされたデフォルトのserver.xml disables httpsであることが判明しました。具体的には、以下のセクションはserver.xmlでコメント化されています。
<Connector port="8443" protocol="org.Apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
コメントを外して2つのキーストアパラメータを追加した後、curlコマンドが機能し始めます(証明書が自己署名されている場合は--insecureオプションを使用)。
<Connector port="8443" protocol="org.Apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
keystoreFile="/path/to/your/keystore"
keystorePass="yourpass" />
ターゲットSSLサイトでSSL証明書を更新した後、同じエラーが発生しました。私のソースOSはCentos6で、新しいcurlバージョンにアップデートすることで解決しました。 *すでにcurl-k(安全でないオプション)を使用していましたが、それでもエラーが発生することに注意してください。基本的に、このエラーはnssまたはopensslが古くなっていることが原因です。 yum -y install curl nss openssl
PHP curlを呼び出すようなWebアプリケーションがある場合は、更新を有効にするためにApacheを再起動する必要があることを忘れないでください。
このガイドに基づいて更新しました: http://realtechtalk.com/curl_35_Unknown_SSL_protocol_error_in_connection_Solution_Centos-1988-articles
カールバージョンが7.34未満の場合は、--tlsv1
オプションを使用して問題を解決できます。
curl -I --tlsv1 https://9.185.173.135