• HttpDav模块
  • dav_access
  • dav_methods
  • create_full_put_path

    HttpDav模块

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

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

    1. ./configure --with-http_dav_module

    配置范例:

    1. location / {
    2. root /data/www;
    3. client_body_temp_path /data/client_temp;
    4. dav_methods PUT DELETE MKCOL COPY MOVE;
    5. create_full_put_path on;
    6. dav_access group:rw all:r;
    7. limit_except GET {
    8. allow 192.168.1.0/32;
    9. deny all;
    10. }
    11. }

    配置指导

    dav_access

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

    default: dav_access user:rw

    context: http, server, location

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

    1. dav_access user:rw group:rw all:r;

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

    1. 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

    1. 这个指令用于于指定HTTPWebDAV的方法,设置它为off 时其所有的方法都将无效(忽视你已经设置的方法)。
    2. Put 方法的目标文件必须是和Nginx 的临时文件夹client_body_temp_path 在同一个分区里。
    3. 当使用Put 方法创建一个文件时,有可能会通过设定date header 修改文件创建日期。

    create_full_put_path

    syntax: create_full_put_path on|off

    default: create_full_put_path off

    context: http, server, location

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

    原文: https://wizardforcel.gitbooks.io/nginx-doc/content/Text/4.11_httpdav.html