【问题标题】:Can't access web service when connected to the network :: HTTP 407连接到网络时无法访问 Web 服务 :: HTTP 407
【发布时间】:2011-01-18 05:04:53
【问题描述】:

我有一个与 Web 服务通信的控制台应用程序。他们都在同一台机器上。

当我在禁用 LAN 的情况下访问 Web 服务时,它可以正常连接。但如果 LAN 已启用并连接到我们的办公网络,我会收到此错误:

“需要 HTTP 407 代理身份验证 - ISA 服务器需要授权才能完成请求。对 Web 代理服务的访问被拒绝。”

我们三天来一直在寻找问题的根源。我们已经尝试了我们能想到的一切。任何想法是什么导致了问题?

补充说明: - 机器处于工作组设置中,但具有 DNS 后缀 (computer.local)。访问网络服务时,我们输入地址为“http://machine.computer.local/service.asmx

  • 我与 IT 人员交谈,他们说我们没有安装 ISA 服务器

  • IE 中没有设置“代理”。

  • 机器完好无损。

【问题讨论】:

  • 我会从一些网络调试工具开始,比如 Wireshark 和 Fiddler2。
  • 感谢您的提示。 :) 在您看来,两者中哪个更人性化?
  • Wireshark 的用户友好性较差,但更适合较低级别的调试。只有在无法用 Fiddler2 解决它之后,我才会尝试 Wireshark。 NB Wireshark 不能在 Windows 下的环回接口上工作。
  • 我使用了 Wireshark 并监控了我的网卡。事实证明,HTTP 请求正在传输到代理服务器;甚至本地 IIS 的本地 HTTP 请求。这还正常吗?
  • 鉴于您在原始问题中所说的内容,这绝对不正常。

标签: c# service access-denied windows-xp-sp3


【解决方案1】:

在 Web.config 的“配置”部分下添加:

 <system.net>
   <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
 </system.net>

然后就像一个魅力!

【讨论】:

    【解决方案2】:

    显然,与我交谈过的 IT 人员并不了解公司范围的 ISA 服务器。

    使用 Wireshark,我将数据转储到 HTML 文件(标准 HTTP 407 错误页面)。它清楚地显示了 ISA 服务器的主机名和 IP 地址。

    简而言之,问题出在 ISA 服务器上。尽管如果托管站点的 IIS 服务器位于计算机本身 (localhost) 上,为什么计算机会联系 ISA 服务器仍然是一个谜。

    解决方法:使用 bypassonlocal 属性。

    <configuration>
       <system.net>
          <defaultProxy>
             <proxy proxyaddress="<ISA-SERVER>" bypassonlocal="true"/>
          </defaultProxy>
       </system.net>
    </configuration>
    

    【讨论】:

      【解决方案3】:

      尝试将以下行添加到您的 hosts 文件中:

      127.0.0.1 machine.computer.local
      

      【讨论】:

      • 我们已经尝试过了。问题是,当我们尝试在本地 ping “machine.computer.local”时,返回的 IP 不是 127.0.0.1。
      • 我认为您将有更多机会在 serverfault.com 中获得正确答案。投票迁移。
      猜你喜欢
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-22
      相关资源
      最近更新 更多