0

我们使用 net.tcp 创建了一个 WCF,并期望该服务可以在只接受 HTTP 端口的防火墙中工作。防火墙后面的客户端也可以访问它。

我们是否需要将服务托管在静态的公共 IP 上,以便来自任何网络的任何客户端都可以连接到它?

理想情况下,我们希望将服务托管在防火墙后面的节点上(例如 192.168.0.199),以便其他网络上的客户端可以连接到它。

请建议。

4

2 回答 2

2

好吧,要么您需要以某种方式使服务公开可见 - 使用公共 IP,或者通过将公司防火墙上的公开可见 IP 路由到内部服务器。但是是的 - 它需要以一种或另一种方式公开可见。

另一种选择是将其连接到Windows Azure 服务总线- 在这种情况下,您可以将其保留在防火墙后面,并在“云”中建立一个公开可见的 IP,然后将流量路由到您的 Web 服务器。

马克

于 2009-08-26T13:07:17.347 回答
1

我可能对此不感兴趣,但 WCF 客户端与防火墙后面的 WCF 服务器通信应该没有问题。在这种情况下,即使是应用程序级防火墙也可以,只要您将它们配置为不检查过去的第 4 层。不要在防火墙处对您的流量进行身份验证或做任何事情 - 只需将其 NAT 到内部 IP 地址,您应该没问题.

几点注意事项:对于这个观察者来说,传输安全性可能会好一点,但是 WCF 中的传输和消息级别的安全性应该可以通过防火墙毫无问题地工作。但是,如果您需要消息流,那么您将陷入传输级别的安全性。

如果您的防火墙(或您的防火墙之一)恰好是 Microsoft ISA 或 TMG 类型的设备,您可能会发现这很有帮助:http ://www.run-corp.com/how-to-configure-wcf-application-on- microsoft-isa-tmg-firewall/

于 2011-08-27T22:14:57.793 回答