2017-03-15 176 views
0

问题:如何配置IIS ARR来执行ProxyPass?

需要到代理通请求,只有模式相匹配: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,“服务器场”现在可用于配置,但不知道是否有什么我需要在那里做。

回答

0

1.我的重写理解是否正确?

没有,因为我想匹配两个字母的国家代码啪应该是:

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

而下操作属性的重写URL应该是:

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

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

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

不需要在服务器上进行任何特殊的配置农场让转发代理工作。

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