arr url重写不适用于外部网站

时间:2013-07-23 15:37:37

标签: url iis rewrite arr

我们正在尝试使用ARR和URL Rewrite设置反向代理机制。当目标URL是托管在同一服务器中的URL时,重写工作正常。但是当我们尝试将其路由到外部服务器时,路由正在运行。我们正在接受

HTTP Error 502.3 - Bad Gateway
The operation timed out 

Module ApplicationRequestRouting 
Notification ExecuteRequestHandler 
Handler ApplicationRequestRoutingHandler 
Error Code 0x80072ee2 
Requested URL http://localhost:8882/ff 
Physical Path D:\pocwebsites\exposed\ff 
Logon Method Anonymous 
Logon User Anonymous 


•The CGI application did not return a valid set of HTTP errors.
•A server acting as a proxy or gateway was unable to process the request due to an error in a parent gateway.

•Use DebugDiag to troubleshoot the CGI application.
•Determine if a proxy or gateway is responsible for this error.

请找到下面给出的web.config文件,

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
    <rewrite>
        <rules>
        <rule name="or_rule_1" enabled="true">
            <match url=".*" />
            <action type="Rewrite" url="http://www.cnn.com" />
        </rule>
        </rules>
    </rewrite>
    </system.webServer>
</configuration>

2 个答案:

答案 0 :(得分:5)

我们遇到了类似的问题。将URL重写到本地站点没有问题,但重写到外部站点会导致错误的网关错误。

我们有一个内部代理(您也在IE中设置的代理访问外部网站)。在ARR反向代理页面中设置此相同代理解决了我们的问题。

答案 1 :(得分:3)

在Windows 2008,IIS 7.5上有类似的问题 问题是应用程序池处于集成模式。这导致了重写的问题。 重定向始终没问题,但重写始终失败。

我将应用程序池更改为经典模式并解决了问题(至少目前为止)。

更好的解决方案可能是http://forums.iis.net/t/1200671.aspx?ARR+URl+Rewrite+is+not+working+for+external+servers 就在最后。但我还没试过。