codecamp

Nginx HTTP DAV 模块

摘要

这个模块可以为Http webDAV 增加 PUT, DELETE, MKCOL, COPY 和 MOVE 等方法。

这个模块在默认编译的情况下不是被包含的,你需要在编译时指定如下参数:

./configure --with-http_dav_module

配置范例:

location / {
  root     /data/www;
  client_body_temp_path  /data/client_temp;
 
  dav_methods  PUT DELETE MKCOL COPY MOVE;
 
  create_full_put_path   on;
  dav_access             group:rw  all:r;
 
  limit_except  GET {
    allow  192.168.1.0/32;
    deny   all;
  }
}

配置指导

dav_access

syntax: dav_access user:permissions [users:permissions] ...

default: dav_access user:rw

context: http, server, location

这个指令是赋予某个目录或文件以访问权,如:

dav_access user:rw group:rw all:r;

如果给一个用户组或所有用户任何权限,user 这个参数就没有必要设置了,如:

dav_access group:rw all:r;

dav_methods

syntax: dav_methods [off|put|delete|mkcol|copy|move] ...

default: dav_methods off

context: http, server, location

这个指令用于于指定HTTP和WebDAV的方法,设置它为off 时其所有的方法都将无效(忽视你已经设置的方法)。

Put 方法的目标文件必须是和Nginx 的临时文件夹client_body_temp_path 在同一个分区里。

当使用Put 方法创建一个文件时,有可能会通过设定date header 修改文件创建日期。

create_full_put_path

syntax: create_full_put_path on|off

default: create_full_put_path off

context: http, server, location

默认情况下,Put 方法只能在已存在的目录里创建文件。当然了Nginx 必须得有这个目录的修改和写入权限。




Nginx HTTP AutoIndex 模块
Nginx HTTP FastCGI 模块
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }