500 URL重写模块错误IIS 8

时间:2017-11-20 18:30:11

标签: asp.net iis-8

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

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

这在Chrome或Edge中运行良好。但Firefox和IE我得到500 URL重写模块错误。除此之外,错误中没有更多信息。

我在反向代理上有其他网站没有问题。但所有有效的都是.net 4.0或更高版本。我遇到的网站都是3.5框架。

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

目前有2个入站规则,一个将http转换为https,另一个是代理规则。有1个出站规则,它也是反向代理的一部分。反向代理当前采用https流量并在内部使用http,然后出站将其作为https发回。这个服务器上目前正常工作的所有站点都没有任何问题。

更多信息。我转向错误跟踪,我收到的更全面的错误是 当HTTP响应的内容被编码时(“gzip”),无法应用出站重写规则。

1 个答案:

答案 0 :(得分:0)

这是因为来自后端服务器的响应正在使用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部分的帖子,系列中的第二个帖子是解决方案。