我有Apache配置,我需要在http主机域中拆分包含虚线子域的域,并在代理通过或重写规则中使用这3个匹配组来构建新路径。
示例网址:
需要代理到:
重要的是,在这些示例中,随着这些值的更改,必须捕获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重写为: