Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IIS反向代理到不同的服务器_Javascript_Iis_Web Config_Reverse Proxy_Windows Server - Fatal编程技术网

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

Javascript IIS反向代理到不同的服务器,javascript,iis,web-config,reverse-proxy,windows-server,Javascript,Iis,Web Config,Reverse Proxy,Windows Server,我试图弄清楚是否有可能在IIS中执行一个反向代理,该代理实际上会到达另一个web服务器端点。我曾使用它在同一台机器上遍历端口,但从未到另一台机器。这样做的目的是,我正在编写一个Javascript应用程序,该应用程序需要连接到不同服务器上的数据,并且我得到了相同来源的错误 注意:不幸的是,将远程服务器和服务更改为接受JSONP或CORS不是一个选项 以下是使用IIS反向代理进行端口跳转的配置 <system.webServer> <rewrite&g

我试图弄清楚是否有可能在IIS中执行一个反向代理,该代理实际上会到达另一个web服务器端点。我曾使用它在同一台机器上遍历端口,但从未到另一台机器。这样做的目的是,我正在编写一个Javascript应用程序,该应用程序需要连接到不同服务器上的数据,并且我得到了相同来源的错误

注意:不幸的是,将远程服务器和服务更改为接受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>

要实现此功能,您需要在IIS服务器上安装反向代理。之后,将以下内容添加到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

要实现此功能,您需要在IIS服务器上安装要充当反向代理的脚本。之后,将以下内容添加到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

那么问题是什么?@StevenVondruska Well。。。我需要了解是否可以使用反向代理调用不同的服务器ip,如果可以,如何执行。您是否已在IIS中安装?那么您编写的内容应该可以工作。只需更改
,然后让您的Javascript发出HTTP GET/POST to
/name/*远程服务器路径*
@StevenVondruska我正在将您的答案复制到下面的实际答案。如果你想自己回答,请告诉我,我会删除我的答案。那么问题是什么?@StevenVondruska嗯。。。我需要了解是否可以使用反向代理调用不同的服务器ip,如果可以,如何执行。您是否已在IIS中安装?那么您编写的内容应该可以工作。只需更改
,然后让您的Javascript发出HTTP GET/POST to
/name/*远程服务器路径*
@StevenVondruska我正在将您的答案复制到下面的实际答案。请让我知道,如果你想回答它自己,我会删除我的答案。