如何配置web.config以从外部服务器加载资源

时间:2013-10-23 08:52:25

标签: visual-studio url-rewriting web-config visual-studio-2013

我正在Visual Studio 2013中开发一个Web应用程序,并从外部服务器获取数据。出于这个原因,我在浏览器中禁用了Web安全性,并在我的应用程序中定义了绝对URL。现在每当我部署应用程序时,我都必须采用URL(这当然是第一次忘记了),而且我还必须解释设置为evey中的新人。

在与web.config文件略有不同之后,我尝试设置一些规则,将这个URL重新编写到数据网络服务器,但是失败了。

我所有的相对网址都以相同的标识符开头,应该映射到外部服务器。这就是我到目前为止所做的:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0"/>

  </system.web>

  <system.webServer>


      <rewrite>
      <rules>
        <rule name="Rewrite calls to rest.oms to the actuall webserver">
          <match url="^/IDENTFIER/([_0-9a-z-]+)" />
          <action type="Rewrite" url="http://EXTERNAL_SERVER/IDENTFIER/{R:1}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

</configuration>

然而,到目前为止它还没有奏效。请有人帮帮我。

最诚挚的问候, 斯蒂芬

1 个答案:

答案 0 :(得分:1)

如果您有ARR模块,可以从外部URL重写。

1)您需要为IIS安装ARR module

2)在IIS管理器中,您应启用反向代理

2.1)在服务器节点上单击&#34;应用程序请求路由缓存&#34;

2.2)点击&#34;服务器代理设置&#34;然后单击&#34;启用代理&#34;,然后&#34;应用&#34;

3)稍微修复你的重写规则regexp(删除起始斜杠):

<rule name="Rewrite calls to rest.oms to the actuall webserver">
    <match url="^IDENTFIER/([_0-9a-z-]+)" />
    <action type="Rewrite" url="http://EXTERNAL_SERVER/IDENTFIER/{R:1}" />
</rule>

然后你的规则应该有效。