Назад | Перейти на главную страницу

обратный прокси apache, mod_ext_filter

Gents, Пробую вставить бит javascript google analytics / piwik в нижний колонтитул потока.

По какой-то причине я не думаю, что вы можете сделать это с помощью ProxyPass / ProxyPassReverse / vhosts ...

Если кто-то может указать мне правильное направление, я буду очень признателен!

<VirtualHost *:80>
        ServerAdmin webmaster@domain.com
        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>

У меня нет решения, но основная причина ответа - сжатие http. Сервер сжимает данные на уровне http. Прокси-сервер видит сжатые данные, и сопоставление строк не выполняется.

Я видел ту же проблему. Не знаю, какое решение лучше, но меня очень интересуют другие ответы.