【问题标题】:firewalls block client of wshttpbinding service防火墙阻止 wshttpbinding 服务的客户端
【发布时间】:2013-03-04 09:14:58
【问题描述】:

我有一台装有 Windows Server 2008 的服务器电脑。我还有一个使用 Port 8525 的 wcf 服务并使用 Windows 服务 托管它strong>.i 在服务器防火墙中打开端口(添加规则)。

我的服务器机器有一个有效的 IP。所以我的客户尝试连接到我的服务 ((http)://MyServerIP:8525/ServiceName)。

我所有的应用程序用户都是在公司工作的人。所以用户互联网来自安全网络(代理服务器或 VPN 连接)。

问题出在这里:

我的很多客户都有连接问题,似乎本地网络阻止了我的程序连接(如果他们尝试连接到我的服务器系统。诊断侦听器将记录它)但服务不保存任何日志。

我认为他们的 互联网服务器防火墙 并且它阻止了我。我用

修复了其中一些
<defaultProxy enabled="true" useDefaultCredentials="true" />

但仍然有很多人有同样的问题。另一个烦人的问题是网络管理员因为安全问题没有打开那个端口并且没有帮助我。

一个常见的例外是: System.ServiceModel.EndpointNotFoundException > System.Net.WebException > System.Net.Sockets.SocketException(在客户端)。

当我在家连接时没有出现这个问题。

我的问题:

用 c# 代码或客户端 app.config 解决此问题的任何方法?或者至少通过更改服务配置(服务器端)来解决这个问题。

【问题讨论】:

    标签: c# wcf networking wcf-security firewall


    【解决方案1】:

    唯一简单的解决方案是在端口 80 上托管该服务

    问题是某些网络不允许传出连接到允许服务以外的端口(http、https、pop 等)

    或者您可以要求这些网络的系统管理员允许流量到您的 ip/端口

    如果您在该服务器上有 iis,您可以在 iis 上托管 wcf。

    请记住,任何时候只有一个进程可以绑定到地址上的端口。

    在那里你可以找到一些信息:How can a WCF service listen the same port as IIS?

    【讨论】:

    • 感谢您的回答,但如果我这样做有两个问题 (http)://IP:80/MyService 服务器有问题,因为它是共享端口,客户端有问题吗?
    • @MamadR 对于客户来说没问题。对于服务器大问题。阅读我的更新答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    相关资源
    最近更新 更多