Apache 基于 Cookie 的条件 ProxyPass 和 ProxyPassReverse

Apache 基于 Cookie 的条件 ProxyPass 和 ProxyPassReverse

我正在尝试根据请求中存在的 cookie 动态设置 httpd.conf 文件中的 ProxyPass 和 ProxyPassReverse 参数,但我没有找到解决方案。以下是伪代码:

<Location "/solutions/">
  if cookie exists
    #The beta cookie exists, so route the solutions request to the new internal endpoint
    ProxyPass http://localhost:8080/vaadin/
    ProxyPassReverse http://localhost:8080/vaadin/

    #Make any cookies written from the vaadin endpoint to have the path /solutions
    ProxyPassReverseCookiePath  "/"  "/solutions"
  else
    #The beta cookie doesn't exist, so route the solutions request to its normal/old internal endpoint.
    ProxyPass http://localhost:8080/solutions/
    ProxyPassReverse http://localhost:8080/solutions/
</Location>

#What I have currently is:
<Location "/solutions/">
    #Check for cookie 'uiBeta' and it's value being true
    RewriteCond %{HTTP_COOKIE} uiBeta=([^;]+)
    RewriteCond %1 ^true$
    #My RewriteRule replaces the ProxyPass as it supports a conditional
    RewriteRule ^/(.*) http://localhost:8080/vaadin/ [P,L]

    #How do I write the ProxyPassReverse and ProxyPassReverseCookiePath in this situation? 
<Location> 

相关内容