nginx搭建webdav服务初体验
背景
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 -> 域名
Mac客户端
访达 -> 前往 http://xxx.com
webdav、ftp和samba比较
协议类型 | 速度 | 兼容性 | Kodi |
---|---|---|---|
smb | 较快 | 好 | 传输性能较差 |
ftp | 快 | 较好 | 可播放70G视频文件 |
webdav | 快 | 差 | 最理想的模式 |