模組 ngx_http_dav_module
範例設定 指令 create_full_put_path dav_access dav_methods min_delete_depth |
ngx_http_dav_module
模組旨在透過 WebDAV 協議自動化檔案管理。該模組處理 HTTP 和 WebDAV 方法 PUT、DELETE、MKCOL、COPY 和 MOVE。
此模組預設不建置,應使用 --with-http_dav_module
設定參數啟用。
需要其他 WebDAV 方法才能運作的 WebDAV 用戶端將無法使用此模組。
範例設定
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; } }
指令
語法 |
create_full_put_path |
---|---|
預設 |
create_full_put_path off; |
上下文 |
http , server , location |
WebDAV 規範僅允許在已存在的目錄中建立檔案。此指令允許建立所有需要的中間目錄。
語法 |
dav_access |
---|---|
預設 |
dav_access user:rw; |
上下文 |
http , server , location |
設定新建立的檔案和目錄的存取權限,例如:
dav_access user:rw group:rw all:r;
如果指定了任何 group
或 all
存取權限,則可以省略 user
權限
dav_access group:rw all:r;
語法 |
dav_methods |
---|---|
預設 |
dav_methods off; |
上下文 |
http , server , location |
允許指定的 HTTP 和 WebDAV 方法。參數 off
會拒絕此模組處理的所有方法。支援以下方法:PUT
、DELETE
、MKCOL
、COPY
和 MOVE
。
使用 PUT 方法上傳的檔案會先寫入臨時檔案,然後重新命名該檔案。從 0.8.9 版開始,臨時檔案和永久儲存可以放在不同的檔案系統上。但是,請注意,在這種情況下,檔案會跨兩個檔案系統複製,而不是進行便宜的重新命名操作。因此,建議對於任何給定的位置,儲存的檔案和包含臨時檔案的目錄(由 client_body_temp_path 指令設定)都放在同一個檔案系統上。
使用 PUT 方法建立檔案時,可以透過在「Date」標頭欄位中傳遞修改日期來指定修改日期。
語法 |
min_delete_depth |
---|---|
預設 |
min_delete_depth 0; |
上下文 |
http , server , location |
允許 DELETE 方法移除檔案,前提是請求路徑中的元素數量不小於指定的數量。例如,指令
min_delete_depth 4;
允許移除以下請求上的檔案
/users/00/00/name /users/00/00/name/pic.jpg /users/00/00/page.html
並拒絕移除
/users/00/00