me.dm is one of the many independent Mastodon servers you can use to participate in the fediverse.
Ideas and information to deepen your understanding of the world. Run by the folks at Medium.

Administered by:

Server stats:

1K
active users

Starting today, Cloudflare has enabled Brotli compression for all sites, with no way for turn it off except on enterprise accounts. The version of cURL that updown.io uses doesn't support Brotli. Now updown.io is useless for monitoring Cloudflare sites, because it constantly complains about an unrecognized content encoding type ("br”). 😫

If you, too, are being told that your Cloudflare-fronted sites are down, this is why.

@waldoj <confused>Doesn't cURL specify in the request headers what types of compression it accepts? Doesn't Cloudflare obey that?</confused>

@waldoj When I run curl from the command line without --compressed it doesn't specify Accept-Encoding at all, which I believe means the server shouldn't compress? When I run it with --compressed it specifies Accept-Encoding with a specific list of compression algorithms it knows how to handle. Maybe updown.io is using curl wrong? 🤷

@jik updown.io is using this:

curl -gkvL4 -b '' -H 'User-Agent: updown.io daemon 2.11' -H 'Accept: */*' -H 'Connection: Close' -H 'Accept-Language: en' -H 'Accept-Encoding: deflate, gzip, br, zstd' -m 30 --connect-timeout 10 --compressed example.com/

It looks to me like updown.io updated their Accept-Encoding string, but *didn't* update their version of cURL to actually be able to handle Brotli.

www.example.comExample Domain

@waldoj @jik ok so the issue is nothing to do with cloudflare and rather than updown.io botching it?

@tay @jik I *think* that's right? I am Unhappy about Cloudflare turning on a new form of compression that cannot be turned off unless you give them money, but I don't know enough about Brotli adoption to know if that's fair to criticize them for.

Anil Dash

@waldoj @tay @jik material changes to outputs that affect site function, without consent or notice, are bad.

@anildash @waldoj @jik Providing a optimisation to clients that have requested it that has no tangible effect on the data the client actually receives is good, actually.

@tay @waldoj @jik I mean, we have content negotiation specs for that reason, no?

@anildash @waldoj @jik Cloudflare is respecting the Accept-Encoding header sent by updown.io. updown.io is manually specifying Accept-Encoding: br (...), even though the version of curl inuse cannot Accept Encoding br

@tay @waldoj @jik ah, then that’s great and the bug sucks 👍🏾