Re: How to prevent mod_proxy from rewriting redirects into absolute URLs?

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

 



This is not an option because the point of my using the proxy in this
case is that I need to rewrite the URLs and content (with
mod_proxy_html). The app server hosts at / and I need to translate it
to a subdirectory /sub.

On Sun, Nov 18, 2012 at 5:53 PM, Igor Cicimov <icicimov@xxxxxxxxx> wrote:
>
>
>
> On Mon, Nov 19, 2012 at 12:38 PM, Yang Zhang <yanghatespam@xxxxxxxxx> wrote:
>>
>> On Sun, Nov 18, 2012 at 3:21 PM, Igor Cicimov <icicimov@xxxxxxxxx> wrote:
>> >
>> > On Mon, Nov 19, 2012 at 9:48 AM, Yang Zhang <yanghatespam@xxxxxxxxx>
>> > wrote:
>> >>
>> >> I have: nginx (port 80) reverse-proxying to apache2 (port 88)
>> >> reverse-proxying to a web app (port 5001).
>> >>
>> >> However, when the web app responds with a redirect like `Location:
>> >> /foo`, apache2 rewrites this into `Location:
>> >> http://host.com:88/sub/foo`,
>> >
>> >
>> > Yes that's what reverse proxy is all about, it rewrites the Location
>> > header
>> > using ProxyPassReverseso it doesn't get bypassed in case of backend
>> > server
>> > redirection.
>>
>> nginx doesn't do the same rewrite from host.com:88 to host.com - I'd
>> also be fine with a solution where nginx does this rewrite as well.
>>
>> >
>> >> even though port 88 is publicly
>> >> inaccessible. I'd like it to just redirect to the relative URL
>> >> `Location: /sub/foo`.
>> >
>> >
>> > So use a redirect then. Looks like reverse proxy is not applicable for
>> > your
>> > user case.
>>
>> What specifically do you mean when you suggest to "use a redirect"?
>> Are you suggesting redirecting host.com:88 to host.com?  That's not
>> possible because port 88 is not (and should not be) publicly
>> reachable.
>
>
> I meant redirecting  /notes/ to the backend using [P] flag if you like
> instead of proxying it.
>
>>
>> >
>> >>
>> >>
>> >> Any ideas?
>> >>
>> >> My apache config (using mod_proxy_http, mod_proxy_html,
>> >> mod_substitute):
>> >>
>> >>       <Location /notes/>
>> >>         Allow from all
>> >>         ProxyPass http://127.0.0.1:5001/
>> >>         SetOutputFilter  proxy-html
>> >>         ProxyPassReverse /
>> >>         ProxyHTMLURLMap  /   /notes/
>> >>         RequestHeader unset Accept-Encoding
>> >>         AddOutputFilterByType SUBSTITUTE application/atom+xml
>> >>         Substitute "s|127.0.0.1:5001|host.com/notes|"
>> >>       </Location>
>> >>
>> >> Thanks.
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
>> >> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
>> >>
>> >
>>
>>
>>
>> --
>> Yang Zhang
>> http://yz.mit.edu/
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
>> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
>>
>



-- 
Yang Zhang
http://yz.mit.edu/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-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