我试图找出是否有可能在IIS中执行反向代理,实际上是在不同的Web服务器端点。我用它在同一台机器上遍历端口,但从不使用其他机器。这样做的目的是我正在编写一个需要连接到不同服务器上的数据的Javascript应用程序,并且我收到Same Origin错误。
注意:不幸的是,更改远程服务器和服务以接受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 :(得分:5)
要使其工作,您需要在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来请求/name/foo/bar
到配置了反向代理的IIS服务器。