Re: Brotli compression
Dave Wreski <[email protected]>
| Newsgroups | gmane.comp.apache.user |
|---|---|
| Organization | Guardian Digital, Inc. |
| Message-ID | <[email protected]> |
Hi, following up with my own email here to indicate I discovered the
problem.
It wasn't immediately clear from the Joomla AdminTools "prevent content
transformation" setting that it essentially disables cloudflare's
ability to proxy compressed content.
Header merge Cache-Control "no-transform"
This header was preventing cloudflare from compressing content, by design.
dave
On 9/4/24 3:55 PM, Dave Wreski wrote:
>
> Hi,
>
> I'm having difficulty setting brotli compression for one of our sites.
> I'm using the same config for all sites, but it's only
> https://linuxsecurity.com that is having the problem. The site is
> proxied by cloudflare. Cloudflare enables brotli compression by
> default for their connection to the browser, but apparently it's not
> set between apache and cloudflare.
>
> The Accept-Encoding header is set, but I can't figure out why it won't
> set content-encoding.
>
> $ curl -s -I -H 'Accept-Encoding: br' https://linuxsecurity.com
> HTTP/2 200
> date: Wed, 04 Sep 2024 19:48:44 GMT
> content-type: text/html; charset=utf-8
> vary: Accept-Encoding,User-Agent,Origin
> x-content-encoded-by: Joomla
> expires: Wed, 17 Aug 2005 00:00:00 GMT
> cache-control: no-store, no-cache, must-revalidate, post-check=0,
> pre-check=0
> cache-control: no-transform
> pragma: no-cache
> set-cookie:
> 59181a1167c38a97d964b60c6c10affd=g5g4qcf1nme37a265p16munj7m; path=/;
> secure; HttpOnly
> set-cookie: jfbconnect_permissions_granted=deleted; expires=Thu, 01
> Jan 1970 00:00:01 GMT; Max-Age=0; path=/
> access-control-allow-origin: *
> access-control-allow-methods: POST, GET, OPTIONS, DELETE, PUT
> access-control-allow-headers: x-requested-with, Content-Type, origin,
> authorization, accept, client-security-token
> access-control-expose-headers: Content-Security-Policy, Location
> access-control-max-age: 600
> strict-transport-security: max-age=31536000; includeSubDomains; preload
> permissions-policy: accelerometer=(), autoplay=(), camera=(),
> cross-origin-isolated=(), display-capture=(), encrypted-media=(),
> fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetom
> eter=(), microphone=(), midi=(), payment=(), picture-in-picture=(),
> publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(),
> usb=(), xr-spatial-tracking=(), clipboard-read=(), clipboard-write
> =(), gamepad=(), hid=(), idle-detection=(), serial=(), window-placement=()
> last-modified: Wed, 04 Sep 2024 19:48:44 GMT
> accept-encoding: br
> cf-cache-status: DYNAMIC
> report-to:
> {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=QywmmDFtRWVIv2PA11ObQ83JYb0XGdQorRRxz5Ii4SYLRWzSJ%2FDZZfxUnp85rPuDVA9M8GATcyi7FD2iiHkt%2BNUSSzdQoBz84m0ytQT2m3F9hW8DlUhZ
> orfepmu%2FzIcJ613l"}],"group":"cf-nel","max_age":604800}
> nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
> expect-ct: max-age=86400, enforce
> referrer-policy: same-origin
> x-content-type-options: nosniff
> x-frame-options: SAMEORIGIN
> x-xss-protection: 1; mode=block
> server: cloudflare
> cf-ray: 8be07fa789ca0fa7-EWR
>
> I've set brotli compression using the following in the Directory
> section of the VirtualHost for this domain:
>
> SetOutputFilter BROTLI_COMPRESS
> SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|webp)$ no-brotli
>
> I've also tried manually setting content-encoding, but that causes the
> site to fail.
>
> Is it possible I'm missing something in cloudflare?
>
> Thanks,
> Dave
>
>