On Mon, Nov 19, 2012 at 9:48 AM, Yang Zhang <[email protected]> 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. 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. > > 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: [email protected] > For additional commands, e-mail: [email protected] > >
