忍者ブログ

きままなひとりごと

引っ越しました。新しいブログはnmtysh.logです。
2015/12/27

ブログを引っ越しました

ブログの引っ越しを行いました。
別サービスへの移行になるため過去記事をすべて再確認しつつ、記事の削除やリンクの差し替えなどを行っています。
現在では役に立たなくなっているtipsなどは削除していますのでご了承ください。

新しいブログはこちらです。
nmtysh.log

今後は新しいブログのほうで更新していきますのでそちらをご覧ください。
2017/05/24 (Wed) 20:29

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2015/03/31 (Tue) 22:30

[Nginx] nginxでレスポンスヘッダーにCache-Controlが含まれない場合がある

nginxを使ったシステムを構築した際につまずいたところがあったのでメモ。

・0.2%の確率でレスポンスにCache-Controlヘッダー、Expiresヘッダーが付与されない
nginx.conf で expires を使って上記ヘッダーを付与する設定にしていたのだけれど、何故かレスポンスヘッダーが付与されないケースがあった(1.7.9〜1.7.11)。

動作検証で問題がなかったので、本番に投入したらCache-ControlヘッダーがついてないレスポンスがあるせいでCDNに意図しない長時間のキャッシュが行われるようになってしまった。
検証で全く再現しないのでお手上げだったが、試しにJMeterで大量のアクセス(100req/10s * 60回)を発生させてみると再現できた。
どうも0.2%の確率でCache-ControlヘッダーとExpiresヘッダーつかない模様。
tracにはそれっぽいチケットは見つからず。
プログラム側でCache-Controlヘッダーを付与することにしてCDNのキャッシュ時間問題は解決できた。

状況と手順をもうちょっと整理できたらバグ報告してみるか。


最初はCDNを疑ってしまいました。ごめんなさい

追伸:
プログラム側の対応でもダメでした。
add_header Cache-Control で対応しました。

拍手[0回]

PR