WebDav 上的 WinSCP 在 PUT 上显示奇怪的日期 + 错误 500

WebDav 上的 WinSCP 在 PUT 上显示奇怪的日期 + 错误 500

我在 nginx 中设置了一个 webdav 目录,如下所示:

server { 
    root /home/webuser/www/

    # some more locations for static content

    location /password-repo/ {
        root      /home/webuser/www/dav;
        client_body_temp_path /var/dav/temp;
        dav_methods     PUT DELETE MKCOL COPY MOVE;
        dav_ext_methods   PROPFIND OPTIONS;
        dav_access    user:rw group:rw all:rw;
        autoindex     on;
        auth_basic "restricted";
        auth_basic_user_file /etc/nginx/htpasswd;
    }
}

我设法使用 WinSCP 通过 WebDav 协议、TLS 开启、端口 443(我的主机)连接到它,并在高级设置中将其设置/password-repo为远程目录。

但我注意到几个奇怪的事情:

  • WinSCP 选项卡中的路径如下user@host/password-repo/Password-repo
  • 父文件夹的日期为 30/12/1899
  • 我使用“触摸测试”将服务器中的一个空文件放在根目录中指定的文件夹中,但在 WinSCP 中看不到它
  • 当我尝试上传文件时,我首先会收到来自 WinSCP 的确认弹出窗口,要求我覆盖正在上传的文件(该文件不存在),如果我接受,则会收到 500 错误

这是怎么回事?

答案1

我必须做两件事才能让它发挥作用:

  • chown dav 为 nginx 用户
  • 在 /home/webuser/dav/ 下创建“password-repo”目录

相关内容