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 https://www.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.