httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Evans <tevans...@googlemail.com>
Subject Re: [users@httpd] Re: ProxyPreserveHost On
Date Mon, 26 Apr 2010 14:44:57 GMT
On Mon, Apr 26, 2010 at 3:15 PM, Mauri <lain80@gmail.com> wrote:
>
> Thanks tom for the reply.
>
> about your request. This is the first call... others log is in
> http://mysite.com/bla/bla/bla
>
> I want that only http header will be https://mysite.com/bla/bla/bla and not
> http://mysite.com/bla/bla/bla
>
> many thanks.
>
> Cheers,
> Mauri
>
> ----------------------------------------------------------
> https://mysite.com/arsys/
>
> GET /arsys/ HTTP/1.1
> Host: mysite.com
> User-Agent: Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.2) Gecko/20100115
> Firefox/3.6
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
> Accept-Encoding: gzip,deflate
> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> Keep-Alive: 115
> Connection: keep-alive
> Cookie: IP-Restriction-GUID="84e039146ac96dec:-54437c22:1283941439a:-7fd1"
>
> HTTP/1.1 302 Moved Temporarily
> Date: Mon, 26 Apr 2010 14:02:09 GMT
> Server: Apache-Coyote/1.1
> Location: http://mysite.com/arsys/shared/login.jsp?/arsys/

^^^^^^^^^^

Apache did not generate that redirect, your backend application did.
Nothing apache can do about your backend being daft. Get your backend
to generate relative urls, or to use the incoming host header to
generate absolute urls, or get it to generate absolute using the same
name you address it by in the config.

I'll explain again what ProxyPassReverse does, with this configuration
<Location />
  ProxyPass http://10.19.72.127:8080/
  ProxyPassReverse http://10.19.72.127:8080/
</Location>

Your backend generates a 302 response, with a header
Location: http://10.19.72.127:8080/foo/bar/

The proxy sees this and replaces the proxied URL
(http://10.19.72.127:8080/) with the location specified in apache (/).
Location: /foo/bar/

It then generates a canonical URL with the requested host name /
server name (depending on the value of UseCanonicalName), which is
what the client sees:
Location: https://mysite.com/foo/bar/

Your backend is generating this header:
Location: http://mysite.com/arsys/shared/login.jsp?/arsys/

This doesn't match the ProxyPassReverse, so doesn't get rewritten.

I can't be any clearer than this. I hope this helps you.

Tom

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message