2013-06-14 6 views
7

HTTP要求はテストサーバー上でASP.NETコードから失敗した(また、IEから失敗した...ではなくFirefoxの!?)私は例えばのようなURLに、私のASP.NETアプリケーションから外部サーバにHttpRequests作ってるんだ

https://1.2.3.4:12345/Data/Users?Id=1 

サーバーでは、これらの要求にxml(Webサービスなど)で応答するサービスが実行されています。私のコードは次のようにGETリクエストを作成します:

var wc = new System.Net.WebClient(); 
wc.Credentials = credentials; // username and password for service 

// get data from server.  
string s = Encoding.ASCII.GetString(wc.DownloadData(url)); 
return s; 

開発マシンで正常に動作します。

しかし、私のテストマシン(旧Windows Server 2003で64箱)の上に、それはこの例外で失敗します

System.Net.WebException:基になる接続が閉じられました:予期しないエラーが送信時に発生しました。
---> System.IO.IOException:トランスポート接続からデータを読み取ることができません:既存の接続がリモートホストによって強制的に閉じられました。
---> System.Net.Sockets.SocketException:既存の接続はリモートホストに強制的に切断された

グーグルは、およそ百万異なる原因があり、これは誤りであると言われます。いずれも適用されないようです。

詳細:

  • それFirefoxのではなく、IE(上作品、私はブラウザにURLを貼り付けて要求を行うことができ、これはDevのサーバー上ではなく、テストサーバー上で動作します! ?!)Internet Explorerは一般的な「Internet ExplorerはWebページを表示できません」ということを示します。存在しないものにIPアドレスを変更すると、まったく同じように見えます。
  • サーバーは、両方のクライアント(テストボックスと開発者ボックス)のローカルコンピュータの信頼できる証明書ストアに追加された自己署名SSL証明書で保護されています。しかし、証明書の問題は、devでうまく動作するので、証明書の検証(テスト時)を無視すると、それでも起こります。
  • 私は、テストボックスから(適切なIPとポートを使って)サーバーにtelnet接続できます。

誰でも試すために何かを提案することはできますか?考えられる原因は?それを少し狭める方法?

答えて

2

私は最終的に、サーバーのWindowsイベントログに関連するエラーを検出しました:

アンTLS 1.0接続要求は、リモートクライアントアプリケーションから受信しましたが、クライアントアプリケーションによってサポートされている暗号スイートのいずれもによってサポートされていませんサーバ。 SSL接続要求が失敗しました。

私は実際に答えることができる新しい質問を作成しました:How to add to the cipher suites available to ASP.NET HttpRequest client?

関連する問題