Mastodonリバースプロキシにおけるアグレッシブキャッシュ:キャッシュすべきもの、すべきでないもの、そしてコンテントネゴシエーションに最終的に裏切られる理由
Mastodonインスタンス(mastodon.bsd.cafe)のフロントにnginxを用いたリバースプロキシキャッシュを実装する方法を詳細に解説。Mastodonは同じURLに対してブラウザ向けHTML、ActivityPub JSON、API向けJSONと異なるコンテンツを返すため、Acceptヘッダを正規化したキャッシュキーが不可欠。認証不要の公開エンドポイントへの短期マイクロキャッシュ、fingerprint付きアセットへの長期キャッシュ、そしてVaryヘッダの無視やAuthorization・Cookieによるバイパスなど、コンテントネゴシエーションの落とし穴を回避する実戦的な設定を紹介する。