nginx 反向代理到 apache WebDAV 服务器上传后返回 0 字节文件

nginx 反向代理到 apache WebDAV 服务器上传后返回 0 字节文件

设置:

客户端 <-> nginx(:443 SSL)<-> apache(:80 WebDAV)

客户端将文件上传到 webdav 服务器。上传成功,但文件大小似乎为 0 字节。通过 SSH 登录到 apache 服务器时,确认文件大小为 0 字节。如果我直接连接到 apache 服务器并上传文件,一切都会按预期运行。文件上传成功,文件大小和 md5sum 正确。

我尝试了 nginx 和 apache 服务器上的各种设置。但都没有成功。我在 Google 上搜索了许多类似的问题,但都无法解决。有人说你需要关闭 nginx 服务器上的 webdav,因为 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;

    }

相关内容