应用程序请求路由:为什么某些站点返回HTTP 404有些不合适?

时间:2018-06-01 14:21:16

标签: iis url-rewriting load-balancing web-farm-framework

我想使用应用程序请求路由将负载均衡器添加到现有的asp.net项目中。所以我让自己熟悉了这些概念并创建了一个本地测试设置

  • 在Windows 10上本地运行的IIS:
    • 使用Windows平台安装程序安装的应用程序请求路由3.0
    • 使用以下服务器创建的服务器场:
      1. <test-server-name>.de(Microsoft 2012 R2 Server:包含asp.net项目)
      2. www.google.com(仅查看负载均衡和网址重写是否有效,因为我没有两台测试服务器可用)

网址重写规则: url rewrite rule

在任何浏览器中多次输入localhost后,我可以看到负载均衡(加权循环)工作正常。它在1.和2.网站之间交替。

我遇到的问题是两个网站上的 404错误enter image description here

我已尝试过以下内容:

  • 安装并启用失败的请求跟踪规则 (在本地IIS上):我认为URL重写工作正常。
    www.google.comgoogle drive的请求记录失败,解压缩并打开xml例如IE以获得更好的视图

  • 创建服务器场而不自动创建网址重写规则 enter image description here

    (选择并创建自己的网址重写规则)

  • &#34;管理的管道模式&#34; - 设置应用程序池集成更改为 Classic

  • 在其他网站上进行健康检查 enter image description here我绝对不知道为什么它会在Git网站上工作以及为什么facebook会返回400错误代码。

  • 启用/禁用代理(IIS管理器 - &gt;应用程序请求路由缓存 - &gt;服务器代理设置...)

我不知道接下来我能做些什么,所以我感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

答案可以在这里找到:https://forums.iis.net/t/1238739.aspx?Why+some+sites+return+HTTP+404+some+don+t+

有些网站根本不支持localhost作为主机名,这就是无法找到localhost的原因(错误404),例如在google.com

如果以上链接未来有效,请详细解答:

  

这不是一个有效的测试。

     

您正在做的是将请求的主机名发送给第三方服务器。像谷歌一样。

     

因此,如果您的请求是http://example.com,那么您要发送此邮件说www.google.com并且Google服务器可能会拒绝此项,因为您可以看到

     

Web服务器管理员通常不会让自己从域中接收流量而不会托管。

     

如果您使用mysite.com向我的服务器IP发送了请求,我也可能会拒绝它。 (如果你有通配符站点并允许所有流量通过,事情会变得复杂)

     

但只是显示来自Google的404页面意味着游览请求会在服务器上点击,这意味着ARR正在运行。

     

如果您真的想以这种方式进行测试,请将本地主机文件与www.google.com解析为您的服务器IP。设置一个以www.google.com作为主持人的网站,然后您应该会看到正确的信息。但是没有考虑第三方管理员在他们身边做什么。