如何配置 IIS ARR 来执行 ProxyPass?
How to configure IIS ARR to do a ProxyPass?
问题:
需要代理传递仅匹配模式的请求:mywebsite.com/two-letter-country-code 例如 mywebsite.com/es/ 到 mywebsite.vendor.com/es 这秒 url 是第三方供应商,将 return 内容翻译。
正在进行的工作:
IIS 本身不支持 ProxyPass,所以我安装了 "Application Request Routing (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:#} 将 return "es" 或 URL 将使用的任何语言。
我的问题
1.我的重写理解正确吗?
2。我必须配置服务器场吗?
我注意到通过安装 ARR,"Server Farm" 现在可用于配置,但不确定我是否需要在那里做任何事情。
1.我的重写理解正确吗?
不,因为我想匹配两个字母的国家代码,Patter 应该是:
^([a-z]{2}/(.*)|/[a-z]{2}$)
并且 Action Properties 下的 Rewrite URL 应该是:
https://mywebsite.sl.vendor.com/{R:0}
{R:0} 将是指定模式的 back-reference,因此对 mywebsite.com/es/ 的传入请求将被代理传递为 mywebsite.vendor.com/es {R:0}=es/ 符合预期
2。我必须配置服务器场吗?
无需在服务器场中进行任何特殊配置即可使转发代理正常工作。
我将请求转发到的第三方服务要求主机 header 作为服务器转发请求,在这种情况下 mywebsite.com 但最终他们收到 mywebsite.vendor.com,要完成此操作,您必须将 属性 preserveHostHeader 设置为 true,这可以在 Configuration Editor
中找到
问题:
需要代理传递仅匹配模式的请求:mywebsite.com/two-letter-country-code 例如 mywebsite.com/es/ 到 mywebsite.vendor.com/es 这秒 url 是第三方供应商,将 return 内容翻译。
正在进行的工作:
IIS 本身不支持 ProxyPass,所以我安装了 "Application Request Routing (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:#} 将 return "es" 或 URL 将使用的任何语言。
我的问题
1.我的重写理解正确吗?
2。我必须配置服务器场吗?
我注意到通过安装 ARR,"Server Farm" 现在可用于配置,但不确定我是否需要在那里做任何事情。
1.我的重写理解正确吗?
不,因为我想匹配两个字母的国家代码,Patter 应该是:
^([a-z]{2}/(.*)|/[a-z]{2}$)
并且 Action Properties 下的 Rewrite URL 应该是:
https://mywebsite.sl.vendor.com/{R:0}
{R:0} 将是指定模式的 back-reference,因此对 mywebsite.com/es/ 的传入请求将被代理传递为 mywebsite.vendor.com/es {R:0}=es/ 符合预期
2。我必须配置服务器场吗?
无需在服务器场中进行任何特殊配置即可使转发代理正常工作。
我将请求转发到的第三方服务要求主机 header 作为服务器转发请求,在这种情况下 mywebsite.com 但最终他们收到 mywebsite.vendor.com,要完成此操作,您必须将 属性 preserveHostHeader 设置为 true,这可以在 Configuration Editor
中找到