【问题标题】:Can't connect to a remote wcf service from IIS无法从 IIS 连接到远程 wcf 服务
【发布时间】:2011-09-02 11:48:22
【问题描述】:

我能够从控制台或在 VS 开发服务器上运行的网站/Web 应用程序成功连接到远程 WCF 服务。但是,当我尝试从 IIS 托管网站连接时,出现以下错误。有什么想法吗?

无法建立连接,因为目标机器主动拒绝它 12.11.121.12:80

【问题讨论】:

    标签: wcf iis


    【解决方案1】:

    这个错误:

    由于目标机器主动拒绝,无法建立连接

    表示连接请求成功通过给定端口上的目标计算机(这不是防火墙问题),并且目标计算机没有侦听该端口上的传入连接,因此操作系统拒绝了连接尝试.

    您的错误的其余部分标识了尝试连接的计算机 12.11.121.12 和端口号 80

    该错误表明服务器未在目标计算机上运行。如果您知道服务器正在您尝试连接的机器上运行,因为您可以从另一个应用程序连接到它,那么这表明您的连接详细信息在网站中配置错误。

    所以,有一些事情要检查:

    • 目标 web 服务的 app.config/web.config 配置细节有什么不同吗?具体来说,机器名称 (12.11.121.12) 和端口号 (80) 似乎很有潜力。
    • 您是否在与正常工作的控制台/Web 应用程序相同的计算机上运行 IIS 托管网站?如果不是,两台机器是否都解析了目标服务器名称(例如,您使用的是someserver.org 而不是12.11.121.12,并且由于一台服务器面向外部而另一台面向内部,因此它被解析为不同的 IP?

    【讨论】:

    • 感谢您的回复。我开始研究配置,尤其是在您回复之后。我们的计算机是通过代理配置的,所以我认为这可能是一个问题。我在 web.config 和 at -一旦事情开始起作用。我想知道为什么没有人想到这一点。
    • @Vijaya Anand:很高兴你成功了。代理绝对是最终与另一台机器对话的最简单方法之一:)
    • @Mark:关于网站礼仪的一些事情,因为您的问题似乎已经解决了。如果您发现我的回答对解决您的问题很有用,那么投赞成票通常是有礼貌的。如果你不打算接受它和/或奖励赏金(这是合理的,因为我没有提到你的确切问题),那么你应该考虑发布你自己的答案并接受它而不是表明问题已经解决方法和方法。另一方面,如果您希望获得进一步的帮助,您可能希望发布对您的问题的更新,以说明您仍有哪些问题。
    【解决方案2】:

    这听起来很像权限(身份验证问题),因为默认情况下应用程序池在不同的用户(机器)下运行。由于 WCF 使用身份验证令牌,我敢打赌这是您的问题。尝试将池的身份设置为与控制台相同的用户,我敢打赌它会正常工作。

    【讨论】:

    • 如果目标机器没有监听正在尝试连接的端口,则会发生此错误“目标机器主动拒绝它”(在这种情况下,由于代理设置,请参阅操作注释根据我的回答)。如果是权限问题,则错误更可能是“权限被拒绝”或“身份验证失败”之类的错误,但此级别的验证要等到之后连接已成立。
    【解决方案3】:

    奇怪的是,当 web 应用程序的 useDefaultWebProxy 为“真”时,我收到了这个错误,但完全相同的代码和设置在单元测试类中运行良好。

    事实证明,Web 应用正在使用 https://foo/bar:1234 的 Web 浏览器代理(公司策略)。当我明确地使用:

    <system.serviceModel>
      <bindings>
        <wsHttpBinding>
          <binding name=...
              useDefaultWebProxy="false" proxyAddress="https://foo/bar:1234"
           ...
    

    我得到了错误:

    ServicePointManager 不支持使用 https 方案的代理

    于是我把代理地址改成了http,而不是https,就成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多