1

名前解決などに関連する WCF の問題に取り組んでいます。Web サーバー上の Web アプリケーションを介してアプリケーション サーバー上の wcf サービス (netTcpBinding) を使用すると、機能しません。ほとんどの状況では機能しません。localhost または 127.0.0.1 を使用して Web サーバー自体から Web アプリケーションにアクセスすると、機能します。ただし、別のクライアント マシンを介して Web サーバー経由でアクセスしたり、ホスト名または IP アドレスを使用して Web サーバー上でローカルに Web アプリケーションにアクセスしたりすることはできません。どちらの場合も、ソケット接続が中止されたというエラーが発生します。

さらに興味深いのは、すべてのセキュリティを「トランスポート」ではなく「なし」に切り替えると問題が解決することです。

私の質問は、Web サーバーを使用して wcf サービスにアクセスし、引き続きトランスポート セキュリティを使用することは可能ですか? それとも、これはバグ/設計された動作ですか?

洞察に感謝します、スティーブ

4

2 に答える 2

2
  1. デフォルトの NetTcpBinding セキュリティ オプションは、Kerberos / Windows 認証です。クライアントとサービスが同じドメインにない場合、機能しません。証明書ベースの認証を確認する必要がある場合があります。

  2. サービスがドメイン アカウントで実行されている場合は、LocalService または NetworkService に変更して、問題が解決するかどうかを確認してください。

于 2011-02-02T08:53:42.850 に答える
1

トランスポート セキュリティは通常、クライアントがサーバーに直接接続する場合にのみポイント ツー ポイントで機能します。

インターネットから入ってくるクライアントがいる場合、それらが通過する中間ホップの数を制御することはできません。そのため、トランスポート セキュリティは、機能させたとしても、おそらくまったく機能しません。たとえば、メッセージが保護される可能性があります。クライアントから最初のホップまで、および最後のホップからサーバーまで - ただし、ホップ間ではありません。

通常、インターネット シナリオでは、トランスポート セキュリティは有効なオプションではありません。そのような場合には、メッセージ セキュリティを使用してください。

接続がまったく機能しない理由は 100% わかりませんが、いずれにせよ、企業のファイアウォールの背後にいない場合、そのようなシナリオでトランスポート セキュリティで netTcp を使用することはありません。

<system.serviceModel>トランスポート セキュリティの設定方法を確認するために、サーバー側の構成 ( 内のすべて) を質問に追加していただけますか?

于 2010-02-17T06:24:25.303 に答える