Next.js の SSR 時に Cache-Control ヘッダーを返す

Next.js のサーバの前段のCDNに Cache-Control ヘッダーを返したいので設定してみた。

公式ドキュメントでは、getServersideProps 内部で res.setHeader('Cache-Control', 'hogehoge') すればよいと書いてあるが、なぜか反映されなくてハマっていた。

https://nextjs.org/docs/going-to-production#caching

よく見ると

Note: When running your application locally with next dev, your headers are overwritten to prevent caching locally.

と書かれていて, next dev だと設定していてもデフォルトの Cache-Control ヘッダーで上書きされる様子だった。

next start したら普通に出てきた。単純なハマり。