On Mon, Nov 19, 2012 at 12:56 PM, Yang Zhang <yanghates...@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 <yanghates...@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 <icici...@gmail.com> > wrote: > >> > >> > >> > >> On Mon, Nov 19, 2012 at 12:38 PM, Yang Zhang <yanghates...@gmail.com> > wrote: > >>> > >>> On Sun, Nov 18, 2012 at 3:21 PM, Igor Cicimov <icici...@gmail.com> > wrote: > >>> > > >>> > On Mon, Nov 19, 2012 at 9:48 AM, Yang Zhang <yanghates...@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-unsubscr...@httpd.apache.org > >>> >> For additional commands, e-mail: users-h...@httpd.apache.org > >>> >> > >>> > > >>> > >>> > >>> > >>> -- > >>> Yang Zhang > >>> http://yz.mit.edu/ > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org > >>> For additional commands, e-mail: users-h...@httpd.apache.org > >>> > >> > > > > > > > > -- > > Yang Zhang > > http://yz.mit.edu/ > > > > -- > Yang Zhang > http://yz.mit.edu/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org > For additional commands, e-mail: users-h...@httpd.apache.org > > Can't you solve this in nginx? Rewrite the Location header set by apache using proxy_redirect?