Thanks.

> If you accept that /frontpage path going up to the client/browser once
> the first / works, then you can:
>    ProxyPass / balancer://applicationcluster/frontpage/ ...
>    ProxyPass /frontpage/ balancer://applicationcluster/frontpage/ ...
>    ProxyPassReverse / balancer://applicationcluster/frontpage/
> The two ProxyPass handle the two kind of paths to forward (the
> longuest match should be elected first).

Using the two ProxyPass directives per above sends a request into a loop.

access_log:

10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 -
10.24.3.10 - - [14/Jun/2018:15:31:30 -0700] "GET /frontpage/login.zul
HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0)
Gecko/20100101 Firefox/43.0" "F65A3883E2839AD76E9E0BFAA3E44F45.node3"


That includes removing the /frontpage from the BalancerMember declarations:

<Proxy balancer://applicationcluster>

                BalancerMember https://app1.example.com:8443
<https://app1.example.com:8443/frontpage> route=node1
                BalancerMember https://app2.example.com:8443
<https://app2.example.com:8443/frontpage> route=node2
                BalancerMember https://app3.example.com:8443
<https://app3.example.com:8443/frontpage> route=node3
                ProxySet lbmethod=bybusyness

</Proxy>

ProxyPreserveHost       On
ProxyPass / balancer://applicationcluster/frontpage/
stickysession=JSESSIONID
ProxyPass /frontpage/ balancer://applicationcluster/frontpage/
stickysession=JSESSIONID
ProxyPassReverse / balancer://applicationcluster/frontpage/
stickysession=JSESSIONID



> Or if you want to masquerade /frontpage completetly, you could use
> mod_proxy_html to rewrite response URLs on the fly.
>
> The first option is probably simpler and it fits your needs, does it work?
>
>
Well, so far the only option that has been partially successful for me is
to use a rewrite.  As mentioned, If I use:

RewriteEngine   On
RewriteRule "^/frontpage(.+)" "$1" [R,L]

^^^^
This allows for the login page to load successfully but subsequent requests
fail.

Any thoughts on a URL rewrite(s) that might work?  I've played around with
%{REQUEST_URI} and IS_SUBREQ but have had not success so far..

Any suggestions are very welcome..

Reply via email to