Re: Re: ProxyPreserveHost On

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Many thanks to Jonas and Tom for the suggest and support.

Now I've understood the problem.

I have just used the ProxyPassReverse but in this scenario it was different. The location that proxy traps was http://mysite.com and not http://10.19.72.127:8080/. This behavior was caused by the use of ProxyPreserveHost On, I think...

Many thanks to all.

Cheers,
Mauri


2010/4/26 Tom Evans <tevans.uk@googlemail.com>
On Mon, Apr 26, 2010 at 3:15 PM, Mauri <lain80@xxxxxxxxx> 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:
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@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux