条件 Apache 后的代理传递

问题描述

我正在尝试根据以下条件在服务位置后使用重写规则配置 apache httpd.conf 文件 ProxyPassProxyPassReverse。但从逻辑上讲,我不能将它应用于重定向规则,因为 Apache 不会在重写规则行上开始给出错误“分隔符标志语法”。

<Location /services/>
    Allow from all

    <IfModule mod_headers.c>    
        <If "%{HTTP:api-version} =~ m#^$#">
            ## y 12 FEB 2021 y
            RequestHeader set Host "y.mobileapp-app.ocp-prod.dceg.pvd.com"
        </If>
        <Else>
            ## x 8 FEB 2021 x
            RequestHeader set Host "x.mobileapp-app.ocp-prod.dceg.pvd.com"
        </Else>
    </IfModule>

    ### MY Cluster 
    #ProxyPass  https://10.230.75.32/
    #ProxyPassReverse https://10.230.75.32/

    RewriteEngine on
    RewriteCond %{HTTP:api-version} =~ m#^$# 
    RewriteRule ^/(.*) http://y.mobileapp-app.ocp-prod.dceg.pvd.com/$1  ##if condition accepted 
    RewriteRule ^/(.*) http://x.mobileapp-app.ocp-prod.dceg.pvd.com/$2  ## else condition 
    ProxyPassReverse / http://y.mobileapp-app.ocp-prod.dceg.pvd.com/
    ProxyPassReverse / http://x.mobileapp-app.ocp-prod.dceg.pvd.com/ 

    ErrorPage https://mobile.pvd.com/HTML/genericError_en.htm 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)