@Eitewi

Как настроить apache для static brotli/gzip?

Привет, у меня есть папка frontend/release
там хранятся index.html, index.html.gz, index.html.br
я хочу чтоб апач в зависимости от поддержки клиента выдавал br, gzip, несжатый файлы [без сжатия на лету]
мой конфиг
<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/public-certificate.pem
    SSLCertificateKeyFile /etc/apache2/ssl/private-key.pem

    # Proxy settings for /api requests
    ProxyRequests Off
    ProxyPass /api http://backend:3000/api
    ProxyPassReverse /api http://backend:3000/api

    <Location /api>
        Header set Content-Encoding ""
    </Location>
    # All not /api locations
    <LocationMatch "^/(?!api)">
        RewriteEngine On
        <IfModule mod_brotli.c>
            RewriteCond %{HTTP:Accept-Encoding} br
            RewriteCond %{DOCUMENT_ROOT}/$1.br -f
            RewriteRule ^(.*)$ $1.br [QSA,L]
            Header set Content-Encoding br
            Header append Vary Accept-Encoding
        </IfModule>
        <IfModule mod_deflate.c>
            RewriteCond %{HTTP:Accept-Encoding} !br
            RewriteCond %{HTTP:Accept-Encoding} gzip
            RewriteCond %{DOCUMENT_ROOT}/$1.gz -f
            RewriteRule ^(.*)$ $1.gz [QSA,L]
            Header set Content-Encoding gzip
            Header append Vary Accept-Encoding
        </IfModule>
        <IfModule mod_mime.c>
            AddEncoding gzip .gz
            AddEncoding br .br
        </IfModule>
    </LocationMatch>
</VirtualHost>

но мне кажется что он написан не правильно, просто первый раз с apache
если забрать IfModule получается он перезаписывает сам себя
то что сверху после chatgpt
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы