Aggressive caching for a Mastodon reverse proxy: what to cache, what to never cache, and why content negotiation will eventually betray you

I have written before about putting a cache in front of snac , and more recently about the HAProxy layer in front of FediMeteo . The general idea is always the same: the reverse proxy should absorb the repetitive, public work that has no business reaching the application server. This post is the same idea applied to a much louder neighbour: a Mastodon instance. The instance is mastodon.bsd.cafe ,…