I'm using Apache proxy to access a web application on a VM.
The proxy configuration works great, no issues.
However, a side effect I see is that the Apache proxy "fixes" HTML that is being proxied.
This isn't a problem for my own material, but it causes awful rendering a third party frame work I'm using, PatternFly.
A simple example of a typical change in the HTML is:
199,200c182,183 < <td style="vertical-align:middle" rowspan=1><a href="/timesheet/project/9">HWSUPP</td> < <td style="vertical-align:middle" rowspan=1><a href="Chris, Welch: chris.welch">Chris Welch</td> --- > <td style="vertical-align:middle" rowspan="1"><a href="/timesheet/project/9">HWSUPP</a></td> > <td style="vertical-align:middle" rowspan="1"><a href="Chris, Welch: chris.welch">Chris Welch</a></td>
< HTML is the proxied source, the
> is the original.
As you can see, the unnecessary quotes around the rowspan and the terminating tag are removed by the Apache Proxy.
For the most part, these fix ups are helpful, but they are causing rendering problems when I use PatternFly that make the site unusable.
I know, the immediate answer is going to be "fix the bad source", but this isn't practical with thousands of third party source lines and Django templates are generating their own source as well.
Is there anyway to turn off this behaviour with Apache proxy?
The proxy configuration I'm using is (Apache 2.2.15):
ProxyRequests off ProxyHTMLLogVerbose On LogLevel Debug ProxyPass /testcrm/ http://django/ ProxyHTMLURLMap http://django /testcrm <Location /testcrm/> ProxyPassReverse / SetOutputFilter proxy-html ProxyHTMLURLMap / /testcrm/ RequestHeader unset Accept-Encoding </Location>
I've tried a test using Apache 2.4 and get the same results.
I came across this, but the question regarding disabling the feature was not answered: mod_proxy(_html) and a buggy Webserver (delivers text/html for JSON data)