nginx开放webdav,openwrt专用,kodi可用。

简介:#

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映射磁盘,也不知道为什么。

四:方法二:增加路径访问#

其实就是nginx的配置文件不同:

配置失败,也许是winscp不支持带路径的webdav。

windows映射磁盘失败。

五:方法三:增加域名访问#

还是nginx的配置文件不同:

删除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;
            }
        }
复制代码

 

六:#

七:#

八:#

九:#

十:#

 #

作者:上官飞鸿

出处:https://www.cnblogs.com/jackadam/p/16193109.html

版权:本作品采用「知识共享-署名-非商业性-禁止演绎(CC-BY-NC-ND)」许可协议进行许可。

posted @   上官飞鸿  阅读(3333)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示