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
configureパラメータを有効にする必要があります。
操作のために追加の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から、一時ファイルと恒久的な保存は別のファイルシステムに置くことができます。しかし、この場合に注意が必要なのは、手軽なリネーム操作の代わりにファイルは二つのファイルシステムを超えてコピーされるということです。従って、いずれの指定されたlocationの保存されたファイルと一時ファイルを保持するディレクトリの両方が、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