Apache 为 ProxyPass 拆分通配符子域
Apache split wildcard sub-domain for ProxyPass
我有 Apache 配置,我需要拆分包含虚线子域的 http 主机域,并使用代理传递或重写规则中的这 3 个匹配组构建新路径。
示例网址:
- kube-test-selfservice.example.com/app/
- kube-staging-selfservice.example.com/app2/
需要代理到:
- 平衡器://kubernetes/test/selfservice/app/
- 平衡器://kubernetes/staging/selfservice/app2/
当这些值发生变化时,捕获此示例中的 test 和 selfservice 很重要。 kube 可以硬编码以区分此主机。
我目前只有基本的代理设置,尝试过多次正则表达式重写,但由于我对 apache 不是很熟悉,希望就这部分提出一些建议。
<VirtualHost *:443>
ServerName example.com
ServerAlias *.example.com
ProxyRequests Off
ProxyPreserveHost On
AddDefaultCharset Off
<Proxy "balancer://kubernetes">
BalancerMember http://192.168.1.244:30001 route=node1 timeout=600
</Proxy>
ProxyPass / "balancer://kubernetes/"
ProxyPassReverse / "balancer://kubernetes/"
</VirtualHost>
请试试这个,我在下面尝试 运行 并且成功了:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^kube-([a-z0-9_]+.)?-([a-z0-9_]+.)?.example.com [NC]
RewriteRule "^/?(.*)" http://kubernetes/%1/%2%{REQUEST_URI} [R=301,L]
二手 URL :
URL 重写为:
我有 Apache 配置,我需要拆分包含虚线子域的 http 主机域,并使用代理传递或重写规则中的这 3 个匹配组构建新路径。
示例网址:
- kube-test-selfservice.example.com/app/
- kube-staging-selfservice.example.com/app2/
需要代理到:
- 平衡器://kubernetes/test/selfservice/app/
- 平衡器://kubernetes/staging/selfservice/app2/
当这些值发生变化时,捕获此示例中的 test 和 selfservice 很重要。 kube 可以硬编码以区分此主机。
我目前只有基本的代理设置,尝试过多次正则表达式重写,但由于我对 apache 不是很熟悉,希望就这部分提出一些建议。
<VirtualHost *:443>
ServerName example.com
ServerAlias *.example.com
ProxyRequests Off
ProxyPreserveHost On
AddDefaultCharset Off
<Proxy "balancer://kubernetes">
BalancerMember http://192.168.1.244:30001 route=node1 timeout=600
</Proxy>
ProxyPass / "balancer://kubernetes/"
ProxyPassReverse / "balancer://kubernetes/"
</VirtualHost>
请试试这个,我在下面尝试 运行 并且成功了:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^kube-([a-z0-9_]+.)?-([a-z0-9_]+.)?.example.com [NC]
RewriteRule "^/?(.*)" http://kubernetes/%1/%2%{REQUEST_URI} [R=301,L]
二手 URL :
URL 重写为: