是否可以使用 ProxyPass 为反向代理提供通配符?
我在下面看到了类似的 ProxypassMatch 配置,所以我尝试使用 proxypass 对其进行建模
ProxyPass ^/retirement-readiness-savings(.*)$http://prod-domain-com-2018.azurewebsites.net/retirement-readiness-savings-november-2018/1 美元
我遇到的问题是我们新 CMS 中目录名称的字符限制(25)。
完整 URL 例如如下:/retirement-readiness-savings-november-2018
例如,具有以下反向代理配置:
#ProxyPass ^/retirement-readiness-savings(.*)$ http://prod-domain-com-2018.azurewebsites.net/retirement-readiness-savings-november-2018$1
#ProxyPassReverse ^/retirement-readiness-savings(.*)$ http://prod-domain-com-2018.azurewebsites.net/retirement-readiness-savings-november-2018$1
因此,只要 URL 匹配前 3 个单词,它仍然会托管相同的页面,忽略2018 年 11 月
仅安装 ProxyPass 并使用 httpd.conf 来管理 ReverseProxy
我们正在使用安装了 mod_proxy 模块的 RHEL 5.11
编辑:我想要做的是捕获/检查目录路径的前 25 个字符,但仍映射到完整的 Azure 路径。
答案1
我不清楚 25 个字符的限制在哪里,但也许您想做这样的事情?
ProxyPass ^/site/(.{1,25}).*$ http://prod-domain-com-2018.azurewebsites.net/site/$1
这将捕获后面的前 25 个字符/site/
,然后在映射中使用它,例如这样的请求:
/site/retirement-readiness-savings-some-thing-or-other
... 将映射到此:
http://prod-domain-com-2018.azurewebsites.net/site/retirement-readiness-savi
('retirement-readiness-savi' == 25 个字符限制)