Rootop 服务器运维与web架构

nginx配置webdav做为网盘

# github 上下载额外的模块才能完整支持webdav的客户端
https://github.com/arut/nginx-dav-ext-module
此模块增加 PROPFIND,OPTIONS,LOCK,UNLOCK 这几个请求方法的支持。
在nginx官方提到了”WebDAV clients that require additional WebDAV methods to operate will not work with this module.”,所以需要此三方模块。

# nginx 自带的 ngx_http_dav_module 支持 PUT, DELETE, MKCOL, COPY, MOVE 请求方法。
http://nginx.org/en/docs/http/ngx_http_dav_module.html

[root@MiWiFi-RA69-srv tar.gz]# git clone https://github.com/arut/nginx-dav-ext-module.git
[root@MiWiFi-RA69-srv nginx-1.19.9]# yum install -y libxml2-devel libxslt-devel
[root@MiWiFi-RA69-srv nginx-1.19.9]# ./configure --prefix=/home/software/nginx --with-http_ssl_module --with-http_dav_module --add-module=../nginx-dav-ext-module/
[root@MiWiFi-RA69-srv nginx-1.19.9]# make && make install
[root@MiWiFi-RA69-srv ~]# mkdir  /home/dav
[root@MiWiFi-RA69-srv ~]# chmod -R 777  /home/dav

# nginx配置

server {
	listen       80;
	server_name  localhost;

	location /dav
	{
		client_max_body_size 5G;
		alias /home/dav;
		index index.html index.htm;
		autoindex on;
		client_body_temp_path /tmp;
		
		# ngx_http_dav_module 模块支持
		dav_methods PUT DELETE MKCOL COPY MOVE;
		create_full_put_path on;
		
		# nginx-dav-ext-module 模块支持
		dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;	
	}
}

启动nginx

客户端用 Cyberduck 软件,官网:https://cyberduck.io/

另外也可以添加nginx的auth_basic认证实现用户登陆验证。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4938.html

作者:Venus

专注于 服务器运维与web架构 E-mail:venus#rootop.org

评论已关闭。