【问题标题】:How to configure IIS ARR to do a ProxyPass?如何配置 IIS ARR 来执行 ProxyPass?
【发布时间】:2017-03-15 19:09:34
【问题描述】:

问题:

需要代理只匹配模式的传递请求:mywebsite.com/two-letter-country-code 例如 mywebsite.com/es/ 到 mywebsite.vendor.com/es 第二个网址是第三方供应商,将返回已翻译的内容。

正在进行的工作:

IIS 本身不支持 ProxyPass,因此我安装了“应用程序请求路由 (ARR)”,以按照本文 https://www.iis.net/learn/extensions/configuring-application-request-routing-arr/creating-a-forward-proxy-using-application-request-routing 中的说明配置转发代理,在步骤 14 中配置它说要添加的重写规则:

Rewrite URL: http://{C:1}/{R:0}

如果我的理解是正确的,我会想做类似的事情

Rewrite URL: http://mywebsite.sl.vendor.com/{C:#}

其中 {C:#} 将返回“es”或 URL 将使用的任何语言。

我的问题

1.我的重写理解正确吗?

2。我必须配置服务器场吗?

我注意到通过安装 ARR,“Server Farm”现在可用于配置,但不确定是否需要在那里做任何事情。

【问题讨论】:

    标签: iis proxy arr


    【解决方案1】:

    1.我的重写理解正确吗?

    不,因为我想匹配两个字母的国家代码,所以 Patter 应该是:

    ^([a-z]{2}/(.*)|/[a-z]{2}$)
    

    Action Properties 下的 Rewrite URL 应该是:

    https://mywebsite.sl.vendor.com/{R:0}
    

    {R:0} 将是指定模式的反向引用,因此对 mywebsite.com/es/ 的传入请求将作为 mywebsite.vendor.com/es 的代理传递 {R:0}= es/ 符合预期

    2。我必须配置服务器场吗?

    不需要在服务器 Farms 中进行任何特殊配置即可使转发代理正常工作。

    我将请求转发到的第三方服务,在这种情况下需要将主机标头作为转发请求的服务器 mywebsite.com 但最终他们收到 mywebsite.vendor.com,以完成此任务必须将属性 preserveHostHeader 设置为 true,这可以在 配置编辑器

    中找到

    【讨论】:

      猜你喜欢
      • 2017-11-13
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 2020-12-07
      • 2018-02-05
      • 2015-05-21
      相关资源
      最近更新 更多