2012-04-23 18 views
2

netTcpBindingで高いポート番号(たとえば9000)で実行するように設定されたWCFサービスがあります。それはすべて動作しますが、クライアントがそのポート上のデータにアクセスできる場合のみです。企業のファイアウォールでは、このポートに接続することができず、多くの苦痛を伴うことはありませんでした。WCF:ポート80でnet.tcpトラフィックを設定する方法

ほとんどの企業環境で何も変更する必要がないように、現在サーバー上で実行されているWebアプリケーションに影響を与えずにポート80で動作するように設定する方法はありますか?私は.net tcp port sharing,を認識していますが、これはnet.tcpよりもポート80を許可しません。

ポート80でnet.tcpを設定できない場合は、この種の状況でファイアウォールの問題を最小限に抑えるための「ベストプラクティス」がありますか?

答えて

4

ほとんどのファイアウォールで許可されているポート8080を試すことをお勧めします。 IIS 7.0は現在、異なるプロトコルバインディング間で同じポートを共有することをサポートしていません。 同じポート上のHTTP + TCPは機能しません。

+0

8080を使用していただきありがとうございます。私たちが9000を使用する理由はありませんので、そのポートに変更することができます。 –

1

特定のipにバインドする必要があります。通常、WCFサービスをバインドする場合、人々は0.0.0.0を使用して任意のIPを受け入れます。ポート80でポートを指定するか、ポートを指定しないと、IIS内の既存の設定がすべて上書きされ、実行中のすべてのサイトが実質的に強制終了されます。

これを実行する唯一の方法は、ポート80のバインディングに使用できる別のIPを持つこと、他のサイトは接続に使用していないことです。

+0

プロダクションサーバーには4つのIPアドレスがバインドされているため、WCFサービスをホストするIISサイトにはIPを使用できます。しかし、限り私が作ることができます、あなたはIPアドレスYのためのポートXでnet.tcpを使用するためにIISのWebサイトをバインドすることはできません? –

+0

WCFサービスをhttp://.0.0.0.0に誤ってバインドしたため、IIS用のすべてのトラフィックがWCFサービスにルーティングされました。私が知る限り、指定したバインディングはIISのデータ受信を上書きします。 – NKCSS

+0

それはWCFの設定ではなく、私が想定しているIISマネージャーで行うことですか? –

関連する問題