简介:
webdav是基于HTTP的扩展协议,类似FTP了,可以上传,可以下载。
我现在有一个openwrt,有2G内存,500G硬盘,挂了aria2下载电影。
平时习惯用kodi通过samba看电影,可是还是有点不方便,只能局域网,并不能广域网,这个webdav,就可以突破samba的限制,实现广域网访问了。
反正公网IPV6也调试完成,把家,办公室,父母家都连起来吧。
一:openwrt的IPV6
这个可以翻前面的文章,不赘述了。
二:openwrt,安装Nginx
opkg update opkg remove Nginx luci-ssl-Nginx Nginx-util Nginx-ssl --force-depends opkg install Nginx-all-module opkg install luci-ssl-Nginx
三:方法一:增加端口访问
1.增加webdav账号密码
echo "admin:$(openssl passwd 123456)" >/etc/Nginx/conf.d/.davpasswd
2.配置共享目录及权限
本例目录是/storage/data/share
mkdir /storage mkdir /storage/data mkdir /storage/data/share chown -R nobody:nogroup /storage/data/share/ chmod -R 700 /storage/data/share/
3.配置Nginx配置文件
增加一个配置文件/etc/Nginx/conf.d/webdav.conf
本例端口是8080
server { listen 8080; listen [::]:8080; server_name _; charset utf-8; location / { root /storage/data/share; if ($request_method = MKCOL) { # 解决 MKCOL 需要以'/'结尾 rewrite ^(.*[^/])$ $1/ break; } dav_methods PUT DELETE MKCOL copY MOVE; dav_ext_methods PROPFIND OPTIONS; dav_access user:rw group:rw all:r; auth_basic "Authorized Users WebDAV"; auth_basic_user_file /etc/Nginx/conf.d/.davpasswd; } }
4.测试Nginx配置文件
Nginx -t -c /etc/Nginx/uci.conf
Nginx: configuration file /etc/Nginx/uci.conf test is successful
successful就是通过测试
5.重启Nginx
root@OpenWrt:~# /etc/init.d/Nginx reload
root@OpenWrt:~# /etc/init.d/Nginx restart
没报错就是好的。
6.测试webdav
用winscp来测试,我是没通过那个windows映射磁盘,也不知道为什么。
四:方法二:增加路径访问
配置失败,也许是winscp不支持带路径的webdav。
windows映射磁盘失败。
五:方法三:增加域名访问
删除listen
配置server_name为你的域名,并将域名解析到这个openwrt上即可。
server { server_name test.jack.com; charset utf-8; location / { root /storage/data/share; if ($request_method = MKCOL) { # 解决 MKCOL 需要以'/'结尾 rewrite ^(.*[^/])$ $1/ break; } dav_methods PUT DELETE MKCOL copY MOVE; dav_ext_methods PROPFIND OPTIONS; dav_access user:rw group:rw all:r; auth_basic "Authorized Users WebDAV"; auth_basic_user_file /etc/Nginx/conf.d/.davpasswd; } }
六:
七:
八:
九:
十:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。