/tmpの中間ファイルっぽいディレクトリを消すとwebdavがエラー吐く
WebDAVでのファイルアップロードサービスをしているサーバで/tmpのファイルやディレクトリを掃除。
このサーバでは以前に/tmpに間違えてバックアップからファイルリストアをしたため、なんだかよくわからないファイルやディレクトリが大量にあったのです。
ところが掃除をしてからしばらくして、WebDAV一定サイズ以上のファイルをPUTするとエラーになるとのレポート。例によって、クライアント側が吐くエラーにはほとんど情報がないのでサーバ側で調査。mod_securityでこんなエラーをキャッチしていました。
Failed to open temporary file for reading: /tmp//20170920-152711-WcNbv6wSAWEAAFSMDBcAABOR-request_body-obzG0s
'/tmp'と中間ファイルっぽい'20170920-15(ry' の間が//になっているのが怪しい。本当ならなにかディレクリ名がはいっているのでは。というところで冒頭の/tmpのディレクトリを掃除したなぁというところに思い当たりました。
WebDAVサービスをプロバイドしているapacheを再起動するとエラーはでなくなりました。どんなファイル名だったのかは不明。まぁちゃんと調べりゃわかるんでしょうが。