我有Apache配置,在这里我需要分割http主机域(包括破折的子域),并在代理通过或重写规则中使用这3个匹配组来构建新路径。
示例网址:
需要代理:
重要的是,在这些示例中,测试和自助服务必须在这些值更改时被捕获。可以对 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>
答案 0 :(得分:0)
请尝试此操作,我尝试在下面运行,并且有效:
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重写为: