Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Проблема с заливко й файла (PUT) в директорию на отдельной файло вой системе.
Hello!
On Fri, Oct 31, 2008 at 08:08:18PM +0300, Lior Goikhburg wrote:
> Всем доброго времени.
>
> Недавно столкнулся с проблемой заливки файлов в location в котором
> включён WEBDAV.
> location /file/ {
> dav_methods PUT DELETE MKCOL COPY MOVE;
> create_full_put_path on;
> dav_access group:rw all:r;
> root /var/www/storage;
> }
>
> Заливаю так:
> /test# curl -T file.crp http://host/file/
> <html>
> <head><title>500 Internal Server Error</title></head>
> <body bgcolor="white">
> <center><h1>500 Internal Server Error</h1></center>
> <hr><center>nginx/0.6.32</center>
> </body>
> </html>
>
> В логе следующее:
> 2008/10/31 19:30:45 [crit] 5946#0: *6 rename()
> "/var/lib/nginx/body/0000000003" to "/var/www/storage/file/file.crp"
> failed (18: Invalid cross-device link), client: 192.168.1.167, server:
> server1, request: "PUT /file/file%2Ecrp HTTP/1.1", host: "host"
>
> Директория /var/www/storage смонтирована с другого носителя (отдельного
> от /var/lib/nginx/body/), в следствии этого и происходит ошибка в вызове
> rename().
>
> Вопрос: Как заставить это работать ?
Настроить client_body_temp_path так, чтобы он указывал на тот же
раздел, куда делается PUT.
http://sysoev.ru/nginx/docs/http/ngx_http_dav_module.html#dav_methods
Maxim Dounin
|