apache反向代理,mod_ext_filter

Gents,试图插入一个谷歌分析/ piwik JavaScript位在页脚的stream。

出于某种原因,我不认为你可以用ProxyPass / ProxyPassReverse / vhosts来做到这一点…

如果有人能指出我正确的方向,将不胜感激!

<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /usr/local/apache/htdocs/ ServerName search.domain.com ServerAlias search.domain.com ErrorLog logs/search.domain.com-error_log #CustomLog logs/search.domain.com-access.log combined CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/search.domain.com-access_log 100M" common <Proxy balancer://searchdomain> BalancerMember http://157.150.186.79 BalancerMember http://157.150.35.20 </Proxy> ExtFilterDefine piwik-search.domain.com cmd="/bin/sed s/<\/html>/<!-- Piwik --> <script type=\"text/javascript\"> var pkBaseURL = ((\"https:\" == document.location.protocol) ? \"https://weblog.domain.com/\" : \"http://weblog.domain.com/\"); document.write(unescape(\"%3Cscript src='\" + pkBaseURL + \"piwik.js' type='text/javascript'%3E%3C/script%3E\")); </script><script type=\"text/javascript\"> try { var piwikTracker = Piwik.getTracker(pkBaseURL + \"piwik.php\", 7); piwikTracker.trackPageView(); piwikTracker.enableLinkTracking(); } catch( err ) {} </script><noscript><p><img src=\"http://weblog.domain.com/piwik.php?idsite=7\" style=\"border:0\" alt=\"\" /></p></noscript> <\/html>/ig" #AddOutputFilter piwik-search.domain.com htm html AddOutputFilter piwik-search.domain.com htm html shtml RewriteEngine on ProxyPass / balancer://searchdomain/ ProxyPassReverse / balancer://searchdomain/ </VirtualHost> 

我没有解决scheme,但答案的根本原因是http压缩。 服务器正在压缩http级别的数据。 代理看到压缩的数据和string匹配失败。

我见过同样的问题。 不知道最好的解决scheme是什么,但我对其他答案很感兴趣。