Проблема:
У меня есть каталог псевдонима для URL-пути, который извлекает статические данные. Я могу получить это для сжатия GZIP просто отлично. Однако, когда я добавляю прокси к другим путям и добавляю исключение для моих статических данных, сжатие прекращается.
Окружающая среда
Конфигурация ключа в httpd.conf
<Directory "${SRVROOT}/static">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
# I have used FilterProvider as well an know this just does javascript at the moment
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
SetOutputFilter DEFLATE
<IfModule alias_module>
Alias "/static" "${SRVROOT}/static"
ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/"
</IfModule>
С этой конфигурацией и папкой " static " в SRVROOT я помещаю файл bundle.js (3M данных). Опрос этого файла на http://localhost/static/bundle.js дает мне 600K загрузки со сжатием gzip. ВСЕ ХОРОШО
Теперь о переменах. Путь к приложению по умолчанию требует обратного прокси-сервера к другому приложению, и apache просто обслуживает статический контент.
<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>
extra / proxy-html.conf содержимое файла
#default proxy stuff above...
ProxyRequests off
ProxyPass / http://localhost:5000/
#ProxyPass /static/ /
ProxyHTMLURLMap http://localhost:5000/ /
<Location />
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLURLMap / /
RequestHeader unset Accept-Encoding
</Location>
<Location /static/ >
ProxyPass !
</Location>
Это все еще позволяет мне получать статические данные, только теперь сжатие gzip не происходит. Я не знаю, если это ошибка в apache или есть лучший способ настроить это.
Вот мои требования:
- Я не могу изменить путь URL-адреса (статический - там, где он есть, а содержимое корневого URL-адреса получает обратный прокси
- мне нужно сжатие
- Развертывание происходит в корневой папке, которая, честно говоря, не называется static , поэтому факт, что я маршрутизирую (в этом примере) static в {некоторый каталог} / static это действительно http://localhost/static/* в папку dist во всей действительности.