IIS不能访问自己

我们正在使用ISA的公司networking,我有问题试图不通过ISA请求。

  1. 我有我的本地Windows 7机器上有网站和服务层的IIS7。
  2. 网站使用我的HOSTS文件中设置的xxxx.servicelayer.local地址访问服务层,指向127.0.0.1。
  3. 我有Windows防火墙客户端,我已禁用。
  4. 我已经尝试将这个地址添加到IE中,以便它不通过ISA,也完全禁用此部分。
  5. 当网站(实际上IIS向自己发出请求)尝试访问服务层时,我收到代理validation失败的ISA错误。

考虑到我能看到的所有configuration都设置为不通过代理,ISA,我不能看到这是如何实际通过代理并给出这个错误。 Windows 7中是否有强制代理设置,某种caching或类似的东西?

如果这是.Net – 而且你没有指定什么平台 – 那么你可以尝试添加这个configurationXML块在web应用程序的web应用程序而不是服务)。 它需要直接进入根部分:

<system.net> <defaultProxy enabled="false"> </defaultProxy> </system.net> 

同样的 – 你可能会发现这个configuration文件已经有了一个system.net的入口,在那里把请求发送给一个特定的代理,在这种情况下,用这个replace它。

编辑 – 回应你的评论

出于兴趣 – 服务层是否试图打电话给外部世界? 我只是想知道,如果你实际上得到服务方法,通过服务冒泡回到网站代码的错误 – 如果这是一个SOAP / wsHttp服务,然后。净可能是持久性代理authentication错误服务层返回到调用代码。

作为最后一点 – 我会使用Fiddler来debugging机器上的networkingstream量 – 这样你就可以准确地看到请求发送到哪里,哪些进程正在请求它们,以及为什么它们失败。 由于HTTP子系统通常绕过任何系统代理进行环回,所以这将无法捕获的是所有的stream量都是127.0.0.1。 然而,有些东西试图访问一个需要代理的地址,在Fiddler运行的时候你应该看看它是什么 – 以及地址是什么。

最后,最后一点说明好的 – 所以请求会发送到ISA – 这不是IIS执行此操作,它是代码,或者至less是代码使用的configuration值,这是这样做的。 如果您无法追踪这些值并禁用防火墙的使用情况,那么您可以做的一件事就是将应用程序池的标识切换到使用networking服务 – 只要该机器被允许在ISA外,就可以通过代理,从而解决了所有的问题。

然而, 知道这个web服务调用是如何进行的(.Net,Java等)是有帮助的,因为有许多不同的方式可以影响它们。

你有没有证实,服务器上的IE浏览器可以使用URL加载网站? 你使用的是什么应用程序(.net?)? 您是否在该应用中指定了代理设置? 你有没有检查网站绑定,以确保该网站也在127.0.0.1侦听?

IIS不会看到您在IE中调整的设置,因为这些设置是针对您的用户的,而不是针对服务器/服务的。