Apache en Brotli compressie

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb Ubuntu 16.04 met Apache 2.4, en heb mod_brotli geinstalleerd. In principe werkt het prima. Maar in de praktijk - een browser dus - werkt het totaal niet.

Als ik doe:
code:
1
curl -i -H "Accept-Encoding: br" https://localhost/

Dan is de response keurig brotli compressed. Briljant!

Maar als ik de Accept-Encoding header zet zoals alle browsers dat doen:
code:
1
curl -i -H "Accept-Encoding: gzip, deflate, br" https://localhost/

Dan is de response weer gzip compressed (niet eens deflate dus :'()

Hoe kan ik tegen Apache zeggen in welke volgorde hij naar de Accept-Encoding moet kijken? Ik wil dat hij eerst brotli doet als dat erbij staat, zo niet dan deflate als dat erbij staat, en anders terugvallen naar default gedrag.

Maar ik kan dus nergens vinden hoe je iets van prioriteit of volgorde kunt aangeven.

Deflate staat zo geconfigd:
code:
1
2
3
4
5
6
7
8
<IfModule mod_deflate.c>
        <IfModule mod_filter.c>
                AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
                AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
                AddOutputFilterByType DEFLATE application/rss+xml
                AddOutputFilterByType DEFLATE application/xml
        </IfModule>
</IfModule>

Dat is trouwens de default. Dit krijg je erbij als je mod_deflate installeert en enablet.

Dus Brotli heb ik ook zo geconfigd:
code:
1
2
3
4
5
6
7
8
<IfModule mod_brotli.c>
        <IfModule mod_filter.c>
                AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css
                AddOutputFilterByType BROTLI_COMPRESS application/x-javascript application/javascript application/ecmascript
                AddOutputFilterByType BROTLI_COMPRESS application/rss+xml
                AddOutputFilterByType BROTLI_COMPRESS application/xml
        </IfModule>
</IfModule>


Na het inprikken van al deze configuratie heb ik uiteraard de apache2 service herstart.

Volgens mij heb ik dat netjes volgens de documentatie van mod_brotli gedaan... Maar hoe los ik nou op dat ie de "goeie" pakt?

日本!🎌


Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Kun je deze 2 niet beter mergen in 1 IfModule blok?
Dan bepaal je zelf welke eerst wordt uitgevoerd.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Topicstarter
Ze moeten toch allebei uitgevoerd worden? Ik wil niet ineens alle browsers in de steek laten die geen brotli snappen.

Of bedoel je dat de volgorde van declaratie bepalend is voor de prioriteit? Dat zou ik raar vinden, gezien Apache (iig op Ubuntu) werkt met `conf-available` en `conf-enabled` dirs, waarbij je dus geen invloed hebt (toch?) over de volgorde waarin die files worden geinclude.

日本!🎌


Acties:
  • 0 Henk 'm!

  • Mijzelf
  • Registratie: September 2004
  • Niet online
Jawel. Die files worden ingeladen in alfabetische volgorde van de symlinks in ~-enabled. Vandaar dat die vaak beginnen met 2 cijfers, zodat de volgorde wat duidelijker is.

Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Topicstarter
ok, daar kan ik wel wat mee. Maar klopt het dat de volgorde van declaratie van deze output filters bepalend is voor welke hij pakt?

M.a.w. ga ik door het wijzigen van de volgorde mijn problem oplossen? Temeer omdat juist gzip wordt gepakt ipv deflate of brotli, en voor gzip kan ik zo'n blok nergens vinden. En wat er niet is, kan ik ook niet onderaan zetten :)

日本!🎌


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Topicstarter
Ja dat was het dus. Ik heb de configuratie van brotli verplaatst van conf-available naar mods-available. En gezien de b (van brotli) voor de d (van deflate) komt, is de volgorde nu goed. Dus volgorde is wat bepalend is.

Ik vind het nog steeds gek dat je in de config zelf niet een volgorde of prio kunt aangeven, en ook dat Apache zelf niet kan bepalen wat de beste compressie is. Maargoed, Apache config is altijd al een raar beestje geweest.

Bedankt voor het meedenken iig :)

日本!🎌

Pagina: 1