Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nginx
GitHub Repository: nginx/nginx.org
Path: blob/main/xml/ru/docs/http/ngx_http_dav_module.xml
1 views
1
<?xml version="1.0"?>
2
3
<!--
4
Copyright (C) Igor Sysoev
5
Copyright (C) Nginx, Inc.
6
-->
7
8
<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9
10
<module name="Модуль ngx_http_dav_module"
11
link="/ru/docs/http/ngx_http_dav_module.html"
12
lang="ru"
13
rev="2">
14
15
<section id="summary">
16
17
<para>
18
Модуль <literal>ngx_http_dav_module</literal> предназначен для автоматизации
19
задач управления файлами на сервере по протоколу WebDAV.
20
Модуль обрабатывает HTTP- и WebDAV-методы
21
PUT, DELETE, MKCOL, COPY и MOVE.
22
</para>
23
24
<para>
25
По умолчанию этот модуль не собирается, его сборку необходимо
26
разрешить с помощью конфигурационного параметра
27
<literal>--with-http_dav_module</literal>.
28
</para>
29
30
<para>
31
<note>
32
WebDAV-клиенты, которые требуют для работы дополнительных WebDAV-методов,
33
не будут работать с этим модулем.
34
</note>
35
</para>
36
37
</section>
38
39
40
<section id="example" name="Пример конфигурации">
41
42
<para>
43
<example>
44
location / {
45
root /data/www;
46
47
client_body_temp_path /data/client_temp;
48
49
dav_methods PUT DELETE MKCOL COPY MOVE;
50
51
create_full_put_path on;
52
dav_access group:rw all:r;
53
54
limit_except GET {
55
allow 192.168.1.0/32;
56
deny all;
57
}
58
}
59
</example>
60
</para>
61
62
</section>
63
64
65
<section id="directives" name="Директивы">
66
67
<directive name="create_full_put_path">
68
<syntax><literal>on</literal> | <literal>off</literal></syntax>
69
<default>off</default>
70
<context>http</context>
71
<context>server</context>
72
<context>location</context>
73
74
<para>
75
По спецификации WebDAV-метод PUT может создавать файл только в
76
уже существующем каталоге.
77
Данная директива разрешает создавать все необходимые промежуточные каталоги.
78
</para>
79
80
</directive>
81
82
83
<directive name="dav_access">
84
<syntax><value>пользователи</value>:<value>права</value> ...</syntax>
85
<default>user:rw</default>
86
<context>http</context>
87
<context>server</context>
88
<context>location</context>
89
90
<para>
91
Задаёт права доступа для создаваемых файлов и каталогов,
92
например,
93
<example>
94
dav_access user:rw group:rw all:r;
95
</example>
96
</para>
97
98
<para>
99
Если заданы какие-либо права для <literal>group</literal> или
100
<literal>all</literal>, то права для <literal>user</literal>
101
указывать необязательно:
102
<example>
103
dav_access group:rw all:r;
104
</example>
105
</para>
106
107
</directive>
108
109
110
<directive name="dav_methods">
111
<syntax>
112
<literal>off</literal> | <value>метод</value> ...</syntax>
113
<default>off</default>
114
<context>http</context>
115
<context>server</context>
116
<context>location</context>
117
118
<para>
119
Разрешает указанные HTTP- и WebDAV-методы.
120
Параметр <literal>off</literal> запрещает все методы, обрабатываемые
121
данным модулем.
122
Поддерживаются следующие методы:
123
<literal>PUT</literal>, <literal>DELETE</literal>, <literal>MKCOL</literal>,
124
<literal>COPY</literal> и <literal>MOVE</literal>.
125
</para>
126
127
<para>
128
Файл, загружаемый методом PUT, записывается во временный файл,
129
а потом этот файл переименовывается.
130
Начиная с версии 0.8.9 временный файл и его постоянное место хранения
131
могут располагаться на разных файловых системах.
132
Однако нужно учитывать,
133
что в этом случае вместо дешёвой операции переименовывания в пределах
134
одной файловой системы файл копируется с одной файловой системы на другую.
135
Поэтому лучше, если сохраняемые файлы будут находиться на той же файловой
136
системе, что и каталог с временными файлами, задаваемый директивой
137
<link doc="ngx_http_core_module.xml" id="client_body_temp_path"/>
138
для данного location.
139
</para>
140
141
<para>
142
При создании файла с помощью метода PUT можно задать дату модификации,
143
передав её в поле заголовка <header>Date</header>.
144
</para>
145
146
</directive>
147
148
149
<directive name="min_delete_depth">
150
<syntax><value>число</value></syntax>
151
<default>0</default>
152
<context>http</context>
153
<context>server</context>
154
<context>location</context>
155
156
<para>
157
Разрешает методу DELETE удалять файлы
158
при условии, что число элементов в пути запроса не меньше заданного.
159
Например, директива
160
<example>
161
min_delete_depth 4;
162
</example>
163
разрешает удалять файлы по запросам
164
<example>
165
/users/00/00/name
166
/users/00/00/name/pic.jpg
167
/users/00/00/page.html
168
</example>
169
и запрещает удаление
170
<example>
171
/users/00/00
172
</example>
173
</para>
174
175
</directive>
176
177
</section>
178
179
</module>
180
181