IIS反向代理服务器到不同的服务器

问题描述:

我想弄清楚是否有可能在IIS中实现一个反向代理服务器,实际上是击中了不同的Web服务器端点。我用它来遍历同一台机器上的端口,但从来没有到过不同的机器。这样做的目的是我正在编写一个需要连接到另一台服务器上的数据的Javascript应用程序,并且我得到了相同的原始错误。IIS反向代理服务器到不同的服务器

注意:不幸的是,将远程服务器和服务更改为接受JSONP或CORS不是一种选择。

下面是使用IIS反向代理

<system.webServer>  
     <rewrite> 
      <rules> 
       <rule name="Reverse Proxy to Different Port" stopProcessing="true"> 
        <match url="^name/(.*)" /> 
        <action type="Rewrite" url="http://localhost:5984/{R:1}" /> 
       </rule> 
      </rules> 
     </rewrite> 
</system.webServer> 
+0

那么问题是什么? – 2013-04-29 19:18:36

+0

@StevenVondruska嗯......我需要找出是否有可能使用反向代理来调用不同的服务器IP,如果是的话,怎么做。 – Rob 2013-04-29 19:37:24

+0

您是否在IIS中安装了[应用程序请求路由(AAR)](http://www.iis.net/downloads/microsoft/application-request-routing)? – 2013-04-29 19:44:15

为了使这项工作端口跳跃的配置,你需要安装要像反向代理的IIS服务器上Application Request Routing (AAR)。在此之后,然后添加以下到web.config中:

<system.webServer>  
    <rewrite> 
     <rules> 
      <rule name="Reverse Proxy to Different Port" stopProcessing="true"> 
       <match url="^name/(.*)" /> 
       <action type="Rewrite" url="http://[hostname here]:[port number here]/{R:1}" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

所在的路径与name/开始到其他服务器这将重定向任何要求。因此,如果您在远程服务器上寻求/foo/bar,则需要使用Javascript向配置了反向代理的IIS服务器请求/name/foo/bar