Обратный прокси-сервер nginx к серверу Apache WebDAV возвращает 0-байтовые файлы после загрузки
Настроить:
клиент <-> nginx (: 443 SSL) <-> apache (: 80 WebDAV)
Клиент загружает файл на сервер webdav. Загрузка успешно завершена, но размер файла составляет 0 байт. При подключении SSH к серверу Apache файл подтверждается размером 0 байт. Если я подключаюсь напрямую к серверу apache и загружаю файл, все работает как положено. Файл загружается и имеет правильный размер файла и md5sum.
Я пробовал различные настройки на сервере nginx и apache. Ни один из которых не является успешным. Я погуглил множество подобных проблем, но не могу заставить его работать. Некоторые люди говорят, что вам нужно отключить webdav на сервере nginx, так как apache отвечает за все запросы webdav. Может ли кто-нибудь подтвердить это утверждение?
Конфигурация Nginx:
dav_access user:rw group:rw all:r;
client_max_body_size 50M;
create_full_put_path on;
location / {
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
set $destination $http_destination;
if ($destination ~* ^https(.+)$) {
set $destination http$1;
}
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host drive.domain.com;
proxy_set_header Destination $destination;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
proxy_pass http://webdav;
}