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

Rob*_*Rob 0 javascript iis reverse-proxy web-config windows-server

我试图找出是否可以在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>
Run Code Online (Sandbox Code Playgroud)

Ste*_*n V 6

要使其工作,您需要在IIS服务器上安装应用程序请求路由(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>
Run Code Online (Sandbox Code Playgroud)

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