For posterity, Igor's solution is what worked for me - thanks! Specifically: proxy_redirect http://host.com:88/ http://host.com/; On Sun, Nov 18, 2012 at 9:21 PM, Igor Cicimov <icicimov@xxxxxxxxx> wrote: > > > > On Mon, Nov 19, 2012 at 12:56 PM, Yang Zhang <yanghatespam@xxxxxxxxx> 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@xxxxxxxxx> >> 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@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/ >> >> >> >> -- >> Yang Zhang >> http://yz.mit.edu/ >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx >> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx >> > > Can't you solve this in nginx? Rewrite the Location header set by apache > using proxy_redirect? > -- Yang Zhang http://yz.mit.edu/ --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx