纯nginx,搭建文件上传、下载服务器

2022-10-14 21:40:59 浏览数 (1)

通过nginx做资源下载站,很多运维小伙伴应该是比较熟悉的了。不过用nginx做webdav,可能还有小伙伴不是很清楚。

什么是webdav?

WebDAV是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。通俗来说就是,WebDAV可以让用户直接存储、下载、编辑文件,当然了,操作文件前需进行用户认证。

基于nginx快速搭建webdav服务

小伙伴可以使用我打包的nwebdav镜像,这个镜像是基于nginx官方1.22版本制作,安全可靠。

代码语言:javascript复制
# 如果是测试环境,可以使用下面的命令,映射端口默认是49153:
~]# docker run --rm -dP lutixiaya/nwebdav:latest
aa97965d112ecd37b952ae2015864a44a89f0a0fa023585ba7739ab47e8a9d37
​
# 如果想持久化数据和指定端口映射,可以使用下面的命令:
~]# docker run -v /data/dav:/usr/local/nginx/html  -d -p 80:80 lutixiaya/nwebdav:latest
~]# chmod o w /data/dav

通过浏览器访问服务器ip:port,如果端口不对,可以通过docker ps | grep nwebdav确认:

代码语言:javascript复制
~]# docker ps | grep nwebdav
f46fbeb180b5   lutixiaya/nwebdav:latest   "/usr/local/nginx/sb…"   49 seconds ago   Up 48 seconds   0.0.0.0:49153->80/tcp, :::49153->80/tcp   practical_carver

通过浏览器可以正常浏览文件信息,和之前部署下载站并没有区别。如果想实现上传、删除、移动等文件操作,可以使用webdav客户端,比如winscp/RaiDrive等等。

下面使用winscp工具演示

代码语言:javascript复制
1、点击新建站点
2、选择协议
3、输入服务器ip
4、输入端口
5、输入用户名
6、输入密码
7、登录

左边是本地文件,右边是服务器文件。

文件的上传和下载就是简易的拖拽,上传就是把左边的文件拖到右边,下载就是把右边的文件拖到左边。

也可以单击右键,进行文件删除,重命名等操作。

其他功能可以多多尝试。

可能故障

如果通过winscp无法连接,是win10对WebDAV默认只支持https协议,需要修改注册表后才可以同时支持https和http。

解决方法:

点击开始菜单,在运行输入框中输入regedit敲回车打开注册表,在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebClientParameters位置,修改BasicAuthLevel 值改成2

代码语言:javascript复制
# 重启webclient
net stop webclient
net start webclient

0 人点赞