2010年6月10日木曜日

PDFのキャッシュが残る

【事象】
同じ名前でアップロードしたPDFファイルのキャッシュが残る

【原因】
pdfのファイルがtomcat側で処理されていたため、apache側のキャッシュ制御をしていたが、無効となっていたから。デフォルトキャッシュの有効期間は数時間があるのでpdf更新確認の前に(数時間以内)そのpdfを参照したことがあればそのキャッシュがブラウザ側に残され、しばらくサーバーへ最新バージョンを取りに行かなくなる。

【対処法】
httpd.conf に、以下の設定を追加
 pdfの拡張子のものにマッチした場合、ヘッダ情報を追加する。
 http://httpd.apache.org/docs/2.0/ja/mod/core.html

#pdf Cache-Control
Header set Pragma no-cache
Header set Cache-Control no-cache
Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT"

jk.conf (mod_jkの場合)に、←の一行を追加
 JkUnMount で、特定のディレクトリ以下をTomcatの対象から外す
 http://www.emxas.co.jp/itblog/item_75.html
 http://www.kanata.to/java/tomcat_jkunmount.html
 
  JkUnMount /*.pdf ajp13←←←

追加後、apache再起動
/etc/init.d/httpd reload

0 件のコメント:

コメントを投稿