【问题标题】:500 URL ReWrite Module Error IIS 8500 URL 重写模块错误 IIS 8
【发布时间】:2018-05-04 01:44:07
【问题描述】:

我有一些网站曾经位于使用 iis7 作为主机的服务器上。我已将这些网站移至 IIS8 的新服务器,并且数据库已从 SQL 2005 升级到 SQL 2014。

此更改的另一部分是它现在通过重定向到内部服务器的 DMZ 反向代理运行。

这在 Chrome 或 Edge 中运行良好。但是 Firefox 和 IE 我收到 500 URL Rewrite Module Error。除此之外,错误中没有更多信息。

我在反向代理上还有其他网站可以正常工作。但所有可用的都是 .net 4.0 或更高版本。我遇到问题的网站都是 3.5 框架。

我尝试在 dmz 上设置应用程序池框架以匹配内部服务器。

目前有2个入站规则,一个将http转换为https,另一个是代理规则。有 1 个出站规则,它也是反向代理的一部分。反向代理当前获取 https 流量并在内部使用 http,然后出站将其作为 https 发送回来。这与此服务器上当前正常工作的所有站点相同。

更多信息。我关闭了错误跟踪,我收到的更完整的错误是 对 HTTP 响应的内容进行编码(“gzip”)时,无法应用出站重写规则。

【问题讨论】:

    标签: asp.net iis-8


    【解决方案1】:

    这是因为来自后端服务器的响应正在使用 HTTP 压缩,并且 URL 重写无法修改已压缩的响应。这会导致出站规则的处理错误,从而导致 500.52 状态代码。

    有两种方法可以解决这个问题:要么关闭发送 HTTP 响应的后端服务器上的压缩(这可能会也可能不会,具体取决于您的配置),或者我们尝试向后端指示服务器客户端不接受压缩响应,方法是在请求进入 IIS 反向代理时删除标头,并在响应离开 IIS 服务器时将其放回

    完成此修复需要多个步骤,您可以在 https://blogs.msdn.microsoft.com/friis/2016/08/25/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52-status-codes/ 找到它们以及您需要的所有信息 这是一个由 3 部分组成的帖子,该系列的第二个帖子是解决方案。

    【讨论】:

    • 关于 SO 的答案必须独立存在。链接应补充完整、独立的答案。请在您的答案中添加相关的“修复”信息。
    • 正是这样的回答使我成为最后一个提问的来源或地方。我有一个问题并正在寻找答案,但是当我找到答案时,我将其发布以帮助可能也遇到相同问题的任何人。但是在堆栈溢出社区中已经变得很普遍,而不是帮助他们更愿意贬低和表现优于任何寻求帮助的人。再次感谢您向我展示这是我最后一个寻求帮助的地方。
    • 链接可能会失效。因此,如果可能的话,复制并粘贴一些步骤或为将来可能阅读此内容但无法再访问该链接页面的人留下足够的提示。如果您确实想帮助其他人,请将其完成,这就是 @canon 所要求的。
    猜你喜欢
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2011-12-04
    • 2012-06-01
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    相关资源
    最近更新 更多