2

我有一个 WCF 服务,它被配置为在 netTcpBinding 上为高端口号(例如 9000)运行。这一切都有效,但前提是客户端可以访问该端口上的数据。我们遇到过很多情况,企业防火墙不允许我们在没有很多痛苦的情况下连接到这个端口。

有没有办法可以将其配置为在端口 80 上工作,而不会影响当前在服务器上运行的 Web 应用程序,这样大多数企业环境就不需要更改任何内容?我知道.net tcp 端口共享,但这不会允许端口 80 通过 net.tcp。

如果无法通过端口 80 配置 net.tcp,是否有针对这种情况的“最佳实践”来最大限度地减少防火墙问题?

4

2 回答 2

4

我建议您可以尝试大多数防火墙允许的端口 8080。IIS 7.0 目前不支持在不同的协议绑定之间共享相同的端口。因此,同一端口上的 HTTP + TCP 将不起作用。

于 2012-04-23T11:05:24.453 回答
1

您需要确保绑定到特定的 ip。通常,在绑定 WCF 服务时,人们使用 0.0.0.0 来接受任何 ip。如果您在端口 80 上执行此操作或未指定端口,它将覆盖 IIS 中的所有现有配置,从而有效地杀死所有正在运行的站点。

做到这一点的唯一方法是拥有一个可用于端口 80 绑定的单独 IP,其他站点不使用该 IP 进行连接。

于 2012-04-23T11:12:52.953 回答