ProxyPass的Apache拆分通配符子域

我有Apache配置,在这里我需要分割http主机域(包括破折的子域),并在代理通过或重写规则中使用这3个匹配组来构建新路径。

示例网址:

  • kube-test-selfservice.example.com/app /
  • kube-staging-selfservice.example.com/app2 /

需要代理:

  • 平衡器:// kubernetes / test / selfservice / app /
  • balancer:// kubernetes / staging / selfservice / app2 /

ProxyPass的Apache拆分通配符子域

重要的是,在这些示例中,测试自助服务必须在这些值更改时被捕获。可以对 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>
weedssjl 回答:ProxyPass的Apache拆分通配符子域

请尝试此操作,我尝试在下面运行,并且有效:

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:

  

http://kube-test-selfservice.example.com/app/

URL重写为:

  

http://kubernetes/test/selfservice/app/

本文链接:https://www.f2er.com/2967474.html

大家都在问