httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Igor Cicimov <icici...@gmail.com>
Subject Re: [users@httpd] How to prevent mod_proxy from rewriting redirects into absolute URLs?
Date Mon, 19 Nov 2012 05:21:57 GMT
On Mon, Nov 19, 2012 at 12:56 PM, Yang Zhang <yanghatespam@gmail.com> wrote:

> (The app server is this:
> http://gitit.net/README#proxying-to-httpmysite.comwiki)
>
> On Sun, Nov 18, 2012 at 5:55 PM, Yang Zhang <yanghatespam@gmail.com>
> wrote:
> > 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@gmail.com>
> wrote:
> >>
> >>
> >>
> >> On Mon, Nov 19, 2012 at 12:38 PM, Yang Zhang <yanghatespam@gmail.com>
> wrote:
> >>>
> >>> On Sun, Nov 18, 2012 at 3:21 PM, Igor Cicimov <icicimov@gmail.com>
> wrote:
> >>> >
> >>> > On Mon, Nov 19, 2012 at 9:48 AM, Yang Zhang <yanghatespam@gmail.com>
> >>> > 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@httpd.apache.org
> >>> >> For additional commands, e-mail: users-help@httpd.apache.org
> >>> >>
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> Yang Zhang
> >>> http://yz.mit.edu/
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> >>> For additional commands, e-mail: users-help@httpd.apache.org
> >>>
> >>
> >
> >
> >
> > --
> > Yang Zhang
> > http://yz.mit.edu/
>
>
>
> --
> Yang Zhang
> http://yz.mit.edu/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>
Can't you solve this in nginx? Rewrite the Location header set by apache
using proxy_redirect?

Mime
View raw message