nginx搭建webdav服务初体验

  |   0 评论   |   0 浏览

背景

webdav服务,提供了一组标准协议,将文件保存在服务器上,供应用远程访问。

初体验

服务搭建

apt-get install nginx nginx-extras libnginx-mod-http-dav-ext libnginx-mod-http-auth-pam

确认安装正常

if nginx -V 2>&1 | grep -qE "http_dav_module|http-dav-ext"; then echo "good to go :)"; else echo "missing dav module :("; fi

结果

good to go :)

配置webdav服务

准备目录:

mkdir -p /home/admin/webdav/public_html/
chown www-data.www-data public_html -R

编辑文件 /etc/nginx/sites-available/webdav.abeffect.com.conf

内容为:

server {
    listen 80;
    server_name webdav.abeffect.com;
    root /home/admin/webdav/public_html/;
    index index.html index.htm index.nginx-debian.html;

    location / {
        dav_methods PUT DELETE MKCOL COPY MOVE;
        dav_ext_methods PROPFIND OPTIONS;
        dav_access user:rw group:rw all:rw;

        client_max_body_size 0;
        create_full_put_path on;
        client_body_temp_path /tmp/;

        auth_basic "Restricted";
	auth_basic_user_file "/home/admin/htpasswd";
    }
}

配置账号

htpasswd -bc /home/admin/htpasswd username password

配置匿名访问(建议跳过)

sudo usermod -aG shadow www-data
sudo nginx -t && sudo nginx -s reload

测试

curl -I http://localhost/index.nginx-debian.html
curl -I --user username:password http://localhost/index.nginx-debian.html

客户端

浏览器

可以直接通过 http 访问。

Android客户端

ES文件浏览器,应用商店的有广告。也可能用无广告的。

FTP -> 域名

FolderSync Pro已付费版 安卓版v3.3.4

Mac客户端

访达 -> 前往 http://xxx.com

webdav、ftp和samba比较

协议类型速度兼容性Kodi
smb较快传输性能较差
ftp较好可播放70G视频文件
webdav最理想的模式

参考

  1. How to create a webdav server with Nginx
  2. 13. Nginx 访问认证
  3. 树莓派smb、ftp、webdav三种共享协议搭建方法和对比