How to prevent mod_proxy from rewriting redirects into absolute URLs?

Posted by Yang on Server Fault See other posts from Server Fault or by Yang
Published on 2012-11-18T22:45:37Z Indexed on 2012/11/18 23:06 UTC
Read the original article Hit count: 352

Filed under:
|

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, even though port 88 is publicly inaccessible. I'd like it to just redirect to the relative URL Location: /sub/foo.

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>

© Server Fault or respective owner

Related posts about apache2

Related posts about mod-proxy