Hi,

I think mod_proxy should be enhanced/fixed in some way:
- If I use ProxyPass & ProxyPassReverse to forward connection from "proxy" to "back-end", ProxyPassReverse adapts the "Location" header from "back-end/..." to "proxy/...".

1. Why only the "Location header" ?
2. In case you access your proxy in HTTPS, and your back-end in HTTP, ProxyPassReverse should also remove the protocol from all headers 3. ProxyPass should do the same for all headers - fixing the protocol, and possibly the host if "ProxyPreserveHost" was not used

To summarise, this should be done for _all_ headers:
- ProxyPass: change "https://proxy/..."; to "http://back-end/...";
  or "http://proxy/..."; if "ProxyPreserveHost" was used
 (replace "https" by "protocol1" and http by "protocol2" to be generic)
- ProxyPassReverse: change "http://back-end/..."; to "https://proxy/...";

Does it sound sensible ?
Obviously, you could do it manually with "Header" & "RequestHeader" (although I have problems to do it with 2.24 - is there a known issue with mod_proxy), but you have to know every header by advance, and I do not see any reason to not do it systematically.

Please correct or acknowledge my thought.

Nick

Reply via email to