我在 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”目录