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;
    }
}

WebDav プロトコル、TLS オン、ポート 443、自分のホスト、詳細設定で/password-repoリモート ディレクトリとして設定した WinSCP を使用して接続できました。

しかし、私はいくつかの奇妙なことに気付きました:

  • WinSCPタブのパスは次のようになりますuser@host/password-repo/Password-repo
  • 親フォルダの日付は 1899/12/30 です
  • 「タッチテスト」を使用してサーバーから空のファイルをルートで指定されたフォルダーに配置しましたが、WinSCPで表示されません
  • ファイルをアップロードしようとすると、最初にWinSCPからアップロードするファイル(存在しない)を上書きする確認ポップアップが表示され、承認すると500エラーが返されました。

どうしたの?

答え1

これを動作させるには、次の 2 つのことを行う必要がありました。

  • chown dav を nginx ユーザーにする
  • /home/webuser/dav/ の下に「password-repo」ディレクトリを作成します。

関連情報