2012-04-23 4 views
2

netTcpBinding에서 높은 포트 번호 (예 : 9000)로 실행되도록 구성된 WCF 서비스가 있습니다. 클라이언트가 해당 포트의 데이터에 액세스 할 수있는 경우에만 작동합니다. 기업 방화벽으로 인해 많은 고통없이이 포트에 연결할 수없는 경우가 많았습니다.WCF : 포트 80에서 net.tcp 트래픽을 구성하는 방법

대부분의 기업 환경에서 아무것도 변경할 필요가 없도록 현재 서버에서 실행중인 웹 응용 프로그램에 영향을주지 않고 포트 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의 웹 사이트를 바인딩 할 수는 없습니까? –

+0

WCF 서비스가 http : ///.0.0.0으로 우연히 바인딩되어 IIS에서 의도 한 모든 트래픽이 WCF 서비스로 라우팅 되었기 때문에 지정한 바인딩이 IIS 수신 대기열보다 우선합니다 . – NKCSS

+0

그래서 IIS 관리자가 아니라 WCF 구성에서 수행하는 작업입니까? –

관련 문제