diff xml/ru/docs/http/ngx_http_core_module.xml @ 76:4a4caa566120

Russian documentation import. Changes in module.dtd: <example> now allowed to contain <value> and <emphasis> elements (we need this to show important parts in examples), less strict checking of <directive> syntax (we don't want to fully document some directives, notably deprecated ones). Known issues: 1. <syntax> elements are preserved as is, they will require manual conversion (likely to some not-yet-existed format a la DocBook cmdsynopsis, as currently used one seems to be incomplete); 2. <value> no longer corresponds to replaceable content, and it's use in examples isn't correct; 3. <link doc="document#fragment"> doesn't work with current xslt, either should be supported or changed to <link doc="document" id="fragment">. The following files are intentionally omitted: maillists.xml (support.xml should be used instead), experimental.xml (obsolete), faq.xml (conflicts with existing one, needs discussion). Not yet linked to site.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 11 Oct 2011 12:57:50 +0000
parents
children 0a45870d0160
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/ru/docs/http/ngx_http_core_module.xml	Tue Oct 11 12:57:50 2011 +0000
@@ -0,0 +1,1819 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
+
+<module name="Директивы модуля ngx_http_core_module"
+        link="/ru/docs/http/ngx_http_core_module.html"
+        lang="ru">
+
+<section name="Директивы" id="directives">
+
+<directive name="aio">
+<syntax>aio <value>[on|off|sendfile]</value></syntax>
+<default>aio off</default>
+<context>http, server, location</context>
+
+<para>
+Директива (0.8.11) разрешает или запрещает использовать файловый AIO
+во FreeBSD и Linux.
+</para>
+
+<para>
+Во FreeBSD AIO можно использовать, начиная с FreeBSD 4.3 версии.
+AIO можно собрать в ядре статически
+<example>
+options VFS_AIO
+</example>
+или же подгрузить динамически
+<example>
+kldload aio
+</example>
+</para>
+
+<para>
+Во FreeBSD 5 и 6 при включении AIO статически или динамически на стадии
+загрузки ядра вся сетевая подсистема будет использовать GiantLock,
+что может негативно сказаться на производительности системы в целом.
+Эта зависимость устранена во FreeBSD-6.4 STABLE от 2009 года и во FreeBSD 7.
+Однако, начиная с FreeBSD 5.3, есть возможность включать AIO,
+не связывая сетевую подсистему GiantLock'ом — для этого модуль AIO
+нужно подгружать уже после загрузки ядра.
+В этом случае в /var/log/messages появится сообщение
+<example>
+WARNING: Network stack Giant-free, but aio requires Giant.
+Consider adding 'options NET_WITH_GIANT' or setting debug.mpsafenet=0
+</example>
+которое можно смело проигнорировать.
+<note>
+Требование использовать GiantLock в AIO связано с тем, что FreeBSD
+поддерживает асинхронные вызовы aio_read()/aio_write() для работы с сокетами.
+Но поскольку nginx использует AIO только для работы с диском, то проблем
+не возникает.
+</note>
+</para>
+
+<para>
+Для работы AIO нужно выключить sendfile:
+<example>
+location  /video/ {
+    sendfile        off;
+    aio             on;
+    output_buffers  1 64k;
+}
+</example>
+</para>
+
+<para>
+Кроме того, начиная с FreeBSD 5.2.1 и nginx-0.8.12, AIO также можно
+использовать для подгрузки данных для sendfile():
+<example>
+location  /video/ {
+    sendfile        on;
+    tcp_nopush      on;
+    aio             sendfile;
+}
+</example>
+В такой конфигурации используется флаг SF_NODISKIO и sendfile()
+не блокируется на диске, а сообщает об отсутствии данных в памяти,
+после чего nginx инициирует асинхронную подгрузку данных,
+читая только один байт. При этом ядро FreeBSD подгружает в память
+первые 128K файла, однако при последующих чтениях файл подгружается
+частями только по 16K. Изменить это можно с помощью директивы
+<link id="read_ahead">read_ahead</link>.
+</para>
+
+<para>
+В Linux AIO можно использовать, только начиная с версии ядра 2.6.22,
+и, кроме того, ещё необходимо дополнительно включать
+<link id="directio">directio</link>, иначе чтение будет блокирующимся:
+<example>
+location  /video/ {
+    aio             on;
+    directio        512;
+    output_buffers  1 128k;
+}
+</example>
+</para>
+
+<para>
+Поскольку directio в Linux можно использовать только для чтения блоков,
+выравненных по 512 байт (или 4К для XFS), то невыравненный конец файла
+будет читаться блокировано. То же относится к запросам части ответа
+byte-ranges и к запросам FLV не с начала файла: чтение невыровненных начала
+и конца ответа будет блокирующимся. sendfile выключать не нужно, так
+как при использовании directio он выключается сам.
+</para>
+
+</directive>
+
+
+<directive name="alias">
+<syntax>alias <value>путь</value></syntax>
+<default>нет</default>
+<context>location</context>
+
+<para>
+Директива задаёт замену для указанного location'а.
+Например, при такой конфигурации
+<example>
+location  /i/ {
+    alias  /data/w3/images/;
+}
+</example>
+на запрос "/i/top.gif" будет отдан файл "/data/w3/images/top.gif".
+</para>
+
+<para>
+В значении пути можно использовать переменные.
+</para>
+
+<para>
+Если директива alias используется внутри location'а, заданного
+регулярным выражением, то регулярное выражение должно содержать выделения,
+а директива alias — ссылки на эти выделения (0.7.40), например:
+<example>
+location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ {
+    alias  /data/w3/images/$1;
+}
+</example>
+</para>
+
+<para>
+Если location и последняя часть значения директивы совпадают:
+<example>
+location  /images/ {
+    alias  /data/w3/images/;
+}
+</example>
+то лучше воспользоваться директивой <link id="root"/>:
+<example>
+location  /images/ {
+    root   /data/w3;
+}
+</example>
+</para>
+
+</directive>
+
+
+<directive name="client_body_in_file_only">
+<syntax>client_body_in_file_only <value>on|clean|off</value></syntax>
+<default>client_body_in_file_only off</default>
+<context>http, server, location</context>
+
+<para>
+Директива определяет, сохранять ли всё тело запроса клиента в файл.
+Директиву можно использовать для отладки и при использовании
+переменной $request_body_file или метода <link doc="ngx_http_perl_module.xml#methods">$r-&gt;request_body_file</link>
+модуля ngx_http_perl_module.
+</para>
+
+<para>
+При использовании параметра "on" временные файлы по окончании
+обработки запроса не удаляется.
+</para>
+
+<para>
+Параметр "clean" разрешает удалять временные файлы, оставшиеся по окончании
+обработки запроса.
+</para>
+
+</directive>
+
+
+<directive name="client_body_in_single_buffer">
+<syntax>client_body_in_single_buffer <value>on|off</value></syntax>
+<default>client_body_in_single_buffer off</default>
+<context>http, server, location</context>
+
+<para>
+Директива определяет, хранить ли всё тело запроса клиента в одном буфере.
+Директива рекомендуется при использовании переменной $request_body
+для уменьшения операций копирования.
+</para>
+
+</directive>
+
+
+<directive name="client_body_buffer_size">
+<syntax>client_body_buffer_size <value>размер</value></syntax>
+<default>client_body_buffer_size 8k/16k</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт размер буфера для чтения тела запроса клиента.
+Если тело запроса больше заданного буфера, то всё тело запроса или только
+его часть записывается во временный файл.
+По умолчанию размер одного буфера равен двум размерам страницы, в зависимости
+от платформы это или 8K, или 16K.
+</para>
+
+</directive>
+
+
+<directive name="client_body_temp_path">
+<syntax>client_body_temp_path <value>путь [ уровень1 [ уровень2 [ уровень3 ] ] ]
+</value></syntax>
+<default>client_body_temp_path client_body_temp</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт имя каталога для хранения временных файлов с телом запроса
+клиента.
+В каталоге может использоваться иерархия подкаталогов до трёх уровней.
+Например, при такой конфигурации
+<example>
+client_body_temp_path  /spool/nginx/client_temp 1 2;
+</example>
+имя временного будет такого вида:
+<example>
+/spool/nginx/client_temp/7/45/00000123457
+</example>
+</para>
+
+</directive>
+
+
+<directive name="client_body_timeout">
+<syntax>client_body_timeout <value>время</value></syntax>
+<default>client_body_timeout 60</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт таймаут при чтении тела запроса клиента.
+Таймаут устанавливается не на всю передачу тела запроса,
+а только между двумя операциями чтения.
+Если по истечении этого времени клиент ничего не передаст,
+то ему возвращается ошибка "Request time out" (408).
+</para>
+
+</directive>
+
+
+<directive name="client_header_buffer_size">
+<syntax>client_header_buffer_size <value>размер</value></syntax>
+<default>client_header_buffer_size 1k</default>
+<context>http, server</context>
+
+<para>
+Директива задаёт размер буфера для чтения заголовка запроса клиента.
+Для подавляющего большинства запросов вполне достаточно буфера размером в 1K.
+Однако если в запросе есть большие cookies или же запрос пришёл
+от wap-клиента, то он может не поместиться в 1K.
+Поэтому, если строка запроса или строка заголовка запроса не помещается
+полностью в этот буфер, то выделяются большие буферы, задаваемые директивой
+<link id="large_client_header_buffers"/>.
+</para>
+
+</directive>
+
+
+<directive name="client_header_timeout">
+<syntax>client_header_timeout <value>время</value></syntax>
+<default>client_header_timeout 60</default>
+<context>http, server</context>
+
+<para>
+Директива задаёт таймаут при чтении заголовка запроса клиента.
+Если по истечении этого времени клиент не передаст полностью заголовок
+запроса, то ему возвращается ошибка "Request time out" (408).
+</para>
+
+</directive>
+
+
+<directive name="client_max_body_size">
+<syntax>client_max_body_size <value>размер</value></syntax>
+<default>client_max_body_size 1m</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт максимально допустимый размер тела запроса клиента,
+указываемый в строке "Content-Length" в заголовке запроса.
+Если размер больше заданного, то клиенту возвращается ошибка
+"Request Entity Too Large" (413). Следует иметь в виду, что
+<link url="http://sysoev.ru/web/upload.html">браузеры не умеют
+корректно показывать эту ошибку</link>.
+</para>
+
+</directive>
+
+
+<directive name="default_type">
+<syntax>default_type <value>MIME-тип</value></syntax>
+<default>default_type text/plain</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт MIME-тип ответов по умолчанию.
+</para>
+
+</directive>
+
+
+<directive name="directio">
+<syntax>directio <value>[размер|off]</value></syntax>
+<default>directio off</default>
+<context>http, server, location</context>
+
+<para>
+Директива (0.7.7) разрешает использовать флаги
+O_DIRECT (FreeBSD, Linux), F_NOCACHE (Mac OS X) или функцию directio() (Solaris)
+при чтении файлов, размер которых больше либо равен указанному.
+Директива автоматически запрещает (0.7.15) использование
+<link id="sendfile">sendfile'а</link> для данного запроса.
+Рекомендуется использовать для больших файлов:
+<example>
+directio  4m;
+</example>
+или при использовании <link id="aio">aio</link> в Linux.
+</para>
+
+</directive>
+
+
+<directive name="directio_alignment">
+<syntax>directio_alignment <value>размер</value></syntax>
+<default>directio_alignment 512</default>
+<context>http, server, location</context>
+
+<para>
+Директива (0.8.11) устанавливает выравнивание для
+<link id="directio">directio</link>.
+В большинстве случае достаточно выравнивания 512 байт, однако
+при использовании XFS под Linux его нужно увеличить до 4K.
+</para>
+
+</directive>
+
+
+<directive name="error_page">
+<syntax>error_page <value>код [код ...] [=|=ответ] uri</value>
+</syntax>
+<default>нет</default>
+<context>http, server, location, if в location</context>
+
+<para>
+Директива задаёт URI, который будет показываться для указанных ошибок.
+Директивы наследуются с предыдущего уровня при условии, что на данном
+уровне не описаны свои директивы error_page.
+В URI можно использовать переменные.
+</para>
+
+<para>
+Пример использования:
+<example>
+error_page   404          /404.html;
+error_page   502 503 504  /50x.html;
+error_page   403          http://example.com/forbidden.html;
+</example>
+</para>
+
+<para>
+Кроме того, можно поменять код ответа на другой, например:
+<example>
+error_page   404  =200  /empty.gif;
+</example>
+</para>
+
+<para>
+Если ошибочный ответ обрабатывается проксированным сервером или
+FastCGI-сервером и этот сервер может вернуть разные коды ответов,
+например, 200, 302, 401 или 404, то можно выдавать возвращаемый код:
+<example>
+error_page   404  =  /404.php;
+</example>
+</para>
+
+<para>
+Если при перенаправлении не нужно менять URI, то можно перенаправить
+обработку ошибки в именованный location:
+<example>
+location / {
+    error_page   404  =  @fallback;
+}
+
+location @fallback {
+    proxy_pass   http://backend;
+}
+</example>
+</para>
+
+</directive>
+
+
+<directive name="if_modified_since">
+<syntax>if_modified_since <value>[off|exact|before]</value></syntax>
+<default>if_modified_since exact</default>
+<context>http, server, location</context>
+
+<para>
+Директива (0.7.24) определяет, как сравнивать время модификации ответа и
+время в заголовке запроса "If-Modified-Since":
+<list type="bullet">
+
+<listitem>
+off — не проверять заголовок запроса
+"If-Modified-Since" (0.7.34);
+</listitem>
+
+<listitem>
+exact — точно совпадение;
+</listitem>
+
+<listitem>
+before — время модификации ответа меньше или равно времени, заданному
+в заголовке запроса "If-Modified-Since".
+</listitem>
+
+</list>
+</para>
+
+</directive>
+
+
+<directive name="internal">
+<syntax>internal</syntax>
+<default>нет</default>
+<context>location</context>
+
+<para>
+Директива указывает, что данный location может использоваться только
+для внутренних запросов.
+Для внешних запросов будет возвращаться ошибка "Not found" (404).
+Внутренними запросами являются
+<list type="bullet">
+
+<listitem>
+запросы, перенаправленные директивой error_page;
+</listitem>
+
+<listitem>
+подзапросы, формируемые командой include virtual модуля ngx_http_ssi_module;
+</listitem>
+
+<listitem>
+запросы, изменённые директивой rewrite модуля ngx_http_rewrite_module.
+</listitem>
+
+</list>
+</para>
+
+<para>
+Пример использования:
+<example>
+error_page   404   /404.html;
+
+location  /404.html {
+    internal;
+}
+</example>
+</para>
+
+</directive>
+
+
+<directive name="keepalive_requests">
+<syntax>keepalive_requests <value>число</value></syntax>
+<default>keepalive_requests 100</default>
+<context>http, server, location</context>
+
+<para>
+Директива (0.8.0) задаёт максимальное число запросов, которые можно
+сделать по одному keep-alive соединению.
+</para>
+
+</directive>
+
+
+<directive name="keepalive_timeout">
+<syntax>keepalive_timeout <value>время [время]</value></syntax>
+<default>keepalive_timeout 75</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт таймаут, в течение которого keep-alive соединение
+с клиентом не будет закрыто со стороны сервера.
+Второй параметр задаёт значение в строке "Keep-Alive: timeout=время"
+в заголовке ответа. Параметры могут отличаться друг от друга.
+Строку "Keep-Alive: timeout=время" понимают Mozilla и Konqueror.
+MSIE сам закрывает keep-alive соединение примерно через 60 секунд.
+</para>
+
+</directive>
+
+
+<directive name="large_client_header_buffers">
+<syntax>large_client_header_buffers <value>число размер</value>
+</syntax>
+<default>large_client_header_buffers 4 4k/8k</default>
+<context>http, server</context>
+
+<para>
+Директива задаёт максимальное число и размер буферов для чтения
+большого заголовка запроса клиента.
+Строка запроса должна быть не больше размера одного буфера, иначе клиенту
+возвращается ошибка "Request URI too large" (414).
+Длинная строка заголовка запроса также должна быть не больше размера одного
+буфера, иначе клиенту возвращается ошибка "Bad request" (400).
+Буферы выделяются только по мере необходимости.
+По умолчанию размер одного буфера равен размеру страницы, в зависимости
+от платформы это или 4K, или 8K.
+Если по окончании обработки запроса соединение переходит в состояние
+keep-alive, то эти буферы освобождаются.
+</para>
+
+</directive>
+
+
+<directive name="limit_except">
+<syntax>limit_except <value>методы</value> { ... }</syntax>
+<default>нет</default>
+<context>location</context>
+
+<para>
+Директива ограничивает HTTP-методы, доступные внутри location.
+Метод GET также включает в себя метод HEAD.
+Для ограничения могут использоваться директивы модулей <link doc="ngx_http_access_module.xml">ngx_http_access_module</link>
+и <link doc="ngx_http_auth_basic_module.xml">ngx_http_auth_basic_module</link>:
+<example>
+limit_except  GET {
+    allow  192.168.1.0/32;
+    deny   all;
+}
+</example>
+Обратите внимание, что данное ограничение будет выполняться для всех методов,
+<value>кроме</value> методов GET и HEAD.
+</para>
+
+</directive>
+
+
+<directive name="limit_rate">
+
+<syntax>limit_rate <value>скорость</value></syntax>
+<default>нет</default>
+<context>http, server, location, if в location</context>
+
+<para>
+Директива задаёт скорость передачи ответа клиенту.
+Скорость задаётся в байтах в секунду.
+
+Ограничение работает только для одного соединения, то есть,
+если клиент откроет 2 соединения, то суммарная скорость будет в 2 раза
+выше ограниченной.
+</para>
+
+<para>
+Если необходимо ограничить скорость для части клиентов на уровне сервера,
+то директива limit_rate для этого не подходит. Вместо этого следует
+задать нужную скорость переменной $limit_rate:
+<example>
+server {
+
+    if ($slow) {
+        set $limit_rate  4k;
+    }
+
+    ...
+}
+</example>
+</para>
+
+</directive>
+
+
+<directive name="limit_rate_after">
+<syntax>limit_rate_after <value>размер</value></syntax>
+<default>нет</default>
+<context>http, server, location, if в location</context>
+
+<para>
+Директива (0.8.0) задаёт объём данных, после передачи которого
+начинает ограничиваться скорость передачи ответа клиенту, например:
+<example>
+location /flv/ {
+    flv;
+    limit_rate_after  500k;
+    limit_rate        50k;
+}
+</example>
+</para>
+
+</directive>
+
+
+<directive name="listen">
+<syntax>listen <value>адрес:порт
+        [default|default_server|
+        [backlog=число |
+         rcvbuf=размер |
+         sndbuf=размер |
+         accept_filter=фильтр |
+         deferred |
+         bind |
+         ipv6only=[on|off] |
+         ssl]]
+</value></syntax>
+<default>listen *:80 | *:8000</default>
+<context>server</context>
+
+<para>
+Директива задаёт адрес и порт, на которых сервер принимает запросы.
+Можно указать только адрес или только порт, кроме того, адрес может
+быть именем сервера, например:
+<example>
+listen  127.0.0.1:8000;
+listen  127.0.0.1;
+listen  8000;
+listen  *:8000;
+listen  localhost:8000;
+</example>
+адреса IPv6 (0.7.36) задаются в квадратных скобках:
+<example>
+listen  [::]:8000;
+listen  [fe80::1];
+</example>
+</para>
+
+<para>
+Если указан только адрес, то используется порт 80.
+</para>
+
+<para>
+Если директива не указана, то используется порт *:80, если nginx работает
+с правами пользователя root, или порт *:8000.
+</para>
+
+<para>
+Если у директивы есть параметр default, то сервер, в котором описана
+эта директива, будет сервером по умолчанию для указанной пары адрес:порт.
+Если же директив с параметром default нет, то сервером по умолчанию
+будет первый сервер, в котором описана пара адрес:порт.
+Начиная с версии 0.8.21, можно использовать параметр default_server.
+</para>
+
+<para>
+В директиве listen с параметром default можно также указать несколько
+параметров, специфичных для системных вызовов listen(2) и bind(2).
+Начиная с версии 0.8.21, эти параметры можно задать в любой директиве
+listen, но только один раз для указанной пары адрес:порт.
+<list type="bullet">
+
+<listitem>
+backlog=число — задаёт параметр backlog в вызове listen(2).
+По умолчанию backlog равен -1 для FreeBSD и 511 для всех остальных
+платформ.
+</listitem>
+
+<listitem>
+rcvbuf=размер — задаёт параметр SO_RCVBUF для слушающего сокета.
+</listitem>
+
+<listitem>
+sndbuf=размер — задаёт параметр SO_SNDBUF для слушающего сокета.
+</listitem>
+
+<listitem>
+accept_filter=фильтр — задаёт название accept-фильтра.
+Работает только на FreeBSD, можно использовать два фильтра — dataready
+и httpready.
+По сигналу -HUP accept-фильтр можно менять только в последних
+версиях FreeBSD, начиная с 6.0, 5.4-STABLE и 4.11-STABLE.
+</listitem>
+
+<listitem>
+deferred — указывает использовать отложенный accept(2) на Linux
+с помощью опции TCP_DEFER_ACCEPT.
+</listitem>
+
+<listitem>
+bind — указывает, что для данной пары адрес:порт нужно делать bind(2)
+отдельно.
+Дело в том, что если описаны несколько директив listen с одинаковым портом,
+но разными адресами и одна из директив listen слушает на всех адресах
+для данного порта (*:порт), то nginx сделает bind(2) только на *:порт.
+Необходимо учитывать, что в этом случае для определения адреса, на которой
+пришло соединение, делается системный вызов getsockname().
+Если же используются параметры backlog, rcvbuf, sndbuf, accept_filter
+или deferred, то для данной пары адрес:порт bind(2) всегда делается отдельно.
+</listitem>
+
+<listitem>
+ipv6only — параметр (0.7.42) задаёт значение параметра IPV6_V6ONLY
+для слушающего сокета.
+Установить этот параметр можно только один раз на старте.
+</listitem>
+
+<listitem>
+ssl — параметр (0.7.14) не имеет отношения к системным вызовам
+listen(2) и bind(2), а позволяет указать, что все соединения,
+принимаемые на этом порту, должны работать в режиме SSL.
+Это позволяет задать компактную конфигурацию для сервера,
+работающего сразу в двух режимах — HTTP и HTTPS.
+<example>
+listen  80;
+listen  443 default ssl;
+</example>
+</listitem>
+
+</list>
+</para>
+
+<para>
+Пример использования параметров:
+<example>
+listen  127.0.0.1 default accept_filter=dataready backlog=1024;
+</example>
+</para>
+
+</directive>
+
+
+<directive name="location">
+<syntax>location [<value>=|~|~*|^~|@</value>] <value>/uri/</value>
+{ ... }</syntax>
+<default>нет</default>
+<context>server</context>
+
+<para>
+Директива устанавливает конфигурацию в зависимости от URI запроса.
+location можно задать обычной строкой или регулярным выражением.
+Регулярные выражения задаются префиксом "~*" — без учёта регистра
+символов, и "~" — с учётом.
+Для определения соответствия location'а и запроса
+сначала проверяются location'ы, заданные обычными строками.
+Среди них ищется максимальное совпадение.
+Затем проверяются регулярные выражения.
+В отличие от обычных строк, они не сортируются, а проверяются в порядке
+их следования в конфигурационном файле.
+Проверка регулярных выражений прекращается после первого же совпадения.
+Если совпадение с регулярным выражением не найдено, то используется
+конфигурация максимально совпавшего location'а.
+</para>
+
+<para>
+Для операционных систем, не чувствительных к регистру символов, таких
+как Mac OS X и Cygwin, проверка обычных строк делается без учёта
+регистра (0.7.7).
+Однако, сравнение ограничено только однобайтными locale'ями.
+</para>
+
+<para>
+Регулярное выражение может содержать выделения (0.7.40), которые
+могут затем использоваться в других директивах.
+</para>
+
+<para>
+Если нужно запретить проверку регулярных выражений после проверки
+обычных строк, то это можно сделать с помощью префикса "^~".
+Если у максимально совпавшего location'а есть этот префикс, то
+регулярные выражения не проверяются.
+</para>
+
+<para>
+Кроме того, с помощью префикса "=" можно задать точное совпадение
+URI и location. При совпадении поиск сразу же прекращается, так как
+дальше искать не имеет смысла. Например, если запрос "/" очень частый,
+то указав "location = /", можно ускорить обработку этого запроса,
+так как поиск location прекратится после первого же сравнения.
+</para>
+
+<para>
+В версиях с 0.7.1 по 0.8.41, если запрос точно совпал с обычным location'ом
+без префиксов "=" и "^~", то поиск тоже сразу же прекращается и
+регулярные выражения также не проверяются.
+</para>
+
+<para>
+Проиллюстрируем вышесказанное примером:
+<example>
+location  = / {
+    [ конфигурация A ]
+}
+
+location  / {
+    [ конфигурация B ]
+}
+
+location ^~ /images/ {
+    [ конфигурация C ]
+}
+
+location ~* \.(gif|jpg|jpeg)$ {
+    [ конфигурация D ]
+}
+</example>
+Для запроса "/" будет выбрана конфигурация A,
+для запроса "/documents/document.html" — конфигурация B,
+для запроса "/images/1.gif" — конфигурация C,
+для запроса "/documents/1.jpg" — конфигурация D.
+</para>
+
+<para>
+Префикс "@" задаёт именованный location. Такой location не используется
+при обычной обработке запросов, а предназначен только для перенаправления
+в него запросов.
+</para>
+
+</directive>
+
+
+<directive name="log_not_found">
+<syntax>log_not_found <value>[on|off]</value></syntax>
+<default>log_not_found on</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает записывать в error_log
+ошибки о том, что файл не найден.
+</para>
+
+</directive>
+
+
+<directive name="log_subrequest">
+<syntax>log_subrequest <value>[on|off]</value></syntax>
+<default>log_subrequest off</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает записывать в <link doc="ngx_http_log_module.xml#access_log">access_log</link>
+подзапросы.
+</para>
+
+</directive>
+
+
+<directive name="merge_slashes">
+<syntax>merge_slashes <value>[on|off]</value></syntax>
+<default>merge_slashes on</default>
+<context>http, server</context>
+
+<para>
+Директива разрешает или запрещает объединять в URI два и более слэшей в один.
+</para>
+
+<para>
+Необходимо иметь ввиду, что это объединение необходимо для корректной
+проверки location'ов и регулярных выражений.
+Например, запрос "//scripts/one.php" не попадает в
+<example>
+location /scripts/ {
+    ...
+}
+</example>
+и может быть обслужен как статический файл,
+поэтому он приводится в "/scripts/one.php".
+</para>
+
+<para>
+Выключение объединения может понадобиться, если в URI используются имена,
+закодированные методом base64, который использует символ "/".
+Но по соображениям безопасности лучше избегать выключения объединения.
+</para>
+
+<para>
+Если директива указана на уровне server в сервере по умолчанию,
+то её значение распространяется на все виртуальные сервера, слушающие
+на том же адресе и порту.
+</para>
+
+</directive>
+
+
+<directive name="msie_padding">
+<syntax>msie_padding <value>[on|off]</value></syntax>
+<default>msie_padding on</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает добавлять в ответы для MSIE
+со статусом больше 400
+комментарий для увеличения размера ответа до 512 байт.
+</para>
+
+</directive>
+
+
+<directive name="msie_refresh">
+<syntax>msie_refresh <value>[on|off]</value></syntax>
+<default>msie_refresh off</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает выдавать для MSIE refresh'ы вместо
+редиректов.
+</para>
+
+</directive>
+
+
+<directive name="open_file_cache">
+<syntax>open_file_cache <value>max=N [inactive=время]|off</value>
+</syntax>
+<default>open_file_cache off</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт кэш, в котором могут хранится
+<list type="bullet">
+
+<listitem>
+дескрипторы открытых файлов, информация об их размерах и времени модификации;
+</listitem>
+
+<listitem>
+информация о существовании каталогов;
+</listitem>
+
+<listitem>
+информация об ошибках поиска файла — нет файла, нет прав на чтение
+и тому подобное. Кэширование ошибок нужно разрешить директивой
+<link id="open_file_cache_errors"/>.
+</listitem>
+
+</list>
+</para>
+
+<para>
+Параметры директивы:
+<list type="bullet">
+
+<listitem>
+max — задаёт максимальное число элементов в кэше;
+при переполнении кэша удаляются наиболее давно не используемые элементы (LRU);
+</listitem>
+
+<listitem>
+inactive — задаёт время, после которого элемент кэша удаляется,
+если к нему не было обращений в течение этого времени;
+по умолчанию 60 секунд;
+</listitem>
+
+<listitem>
+off — запрещает кэш.
+</listitem>
+
+</list>
+</para>
+
+<para>
+Пример использования:
+<example>
+open_file_cache          max=1000  inactive=20s;
+open_file_cache_valid    30s;
+open_file_cache_min_uses 2;
+open_file_cache_errors   on;
+</example>
+</para>
+
+</directive>
+
+
+<directive name="open_file_cache_errors">
+<syntax>open_file_cache_errors <value>on|off</value></syntax>
+<default>open_file_cache_errors off</default>
+<context>http, server, location</context>
+
+<para>
+Директива определяет, кэшировать или нет ошибки поиска файлов в
+<link id="open_file_cache"/>.
+</para>
+
+</directive>
+
+
+<directive name="open_file_cache_min_uses">
+<syntax>open_file_cache_min_uses <value>число</value></syntax>
+<default>open_file_cache_min_uses 1</default>
+<context>http, server, location</context>
+
+<para>
+Директива определяет минимальное число использований файла в течение
+времени, заданного параметром inactive в директиве
+<link id="open_file_cache"/>, после которого дескриптор файла
+будет оставаться открытым в кэше.
+</para>
+
+</directive>
+
+
+<directive name="open_file_cache_valid">
+<syntax>open_file_cache_valid <value>время</value></syntax>
+<default>open_file_cache_valid 60</default>
+<context>http, server, location</context>
+
+<para>
+Директива определяет, через какое время нужно проверять актуальность
+информации об элементе в <link id="open_file_cache"/>.
+
+</para>
+
+</directive>
+
+
+<directive name="optimize_server_names">
+<syntax>optimize_server_names <value>[on|off]</value></syntax>
+<default>optimize_server_names on</default>
+<context>http, server</context>
+
+<para>
+Устаревшая директива.
+</para>
+
+<para>
+Директива разрешает или запрещает оптимизировать проверку имени хоста
+в name-based виртуальных серверах.
+Проверка в частности влияет на имя хоста, используемого в редиректах.
+Если оптимизация разрешена и все name-based сервера, слушающие на одной
+паре адрес:порт, имеют одинаковую конфигурацию, то во время исполнения
+запроса имена не проверяются и в редиректах используется первое имя сервера.
+Если в редиректе нужно использовать имя хоста, переданное клиентом,
+то оптимизацию нужно выключить.
+</para>
+
+</directive>
+
+
+<directive name="port_in_redirect">
+<syntax>port_in_redirect <value>[on|off]</value></syntax>
+<default>port_in_redirect on</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает указывать порт в редиректах,
+выдаваемых nginx'ом.
+</para>
+
+</directive>
+
+
+<directive name="read_ahead">
+<syntax>read_ahead <value>размер</value></syntax>
+<default>read_ahead  0</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт ядру размер предчтения при работе с файлами.
+Под Линуксом используется системный вызов
+<example>
+posix_fadvise(0, 0, 0, POSIX_FADV_SEQUENTIAL);
+</example>
+поэтому размер игнорируется.
+</para>
+
+<para>
+Под FreeBSD используется fcntl(O_READAHEAD, размер), появившийся
+во FreeBSD-9 CURRENT. Для FreeBSD 7 нужно установить
+<link url="http://sysoev.ru/freebsd/patch.readahead.txt">патч</link>.
+</para>
+
+</directive>
+
+
+<directive name="recursive_error_pages">
+<syntax>recursive_error_pages <value>[on|off]</value></syntax>
+<default>recursive_error_pages off</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает делать несколько перенаправлений через
+директиву <link id="error_page"/>.
+</para>
+
+</directive>
+
+
+<directive name="reset_timedout_connection">
+<syntax>reset_timedout_connection <value>[on|off]</value></syntax>
+<default>reset_timedout_connection off</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает сбрасывать соединение по таймауту.
+Сброс делается следующим образом — перед закрытием сокета для него
+ставится опция SO_LINGER с таймаутом 0. После чего при закрытии сокета
+клиенту отсылается пакет RST, а всё память, связанная с этим сокетом,
+освобождается. Это позволяет избежать длительного нахождения уже закрытого
+сокета в состоянии FIN_WAIT1 с заполненными буферами.
+</para>
+
+<para>
+Необходимо отметить, что соединения, находящиеся в состоянии keepalive,
+по истечении таймаута закрываются обычным образом.
+</para>
+
+</directive>
+
+
+<directive name="resolver">
+<syntax>resolver <value>адрес</value></syntax>
+<default>нет</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт адрес name-сервера, например:
+<example>
+    resolver   127.0.0.1;
+</example>
+</para>
+
+</directive>
+
+
+<directive name="resolver_timeout">
+<syntax>resolver_timeout <value>время</value></syntax>
+<default>resolver_timeout 30s</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт таймаут для определения имени, например:
+<example>
+    resolver_timeout   5s;
+</example>
+</para>
+
+</directive>
+
+
+<directive name="root">
+<syntax>root <value>путь</value></syntax>
+<default>root html</default>
+<context>http, server, location, if в location</context>
+
+<para>
+Директива задаёт корневой каталог для запросов.
+Например, при такой конфигурации
+<example>
+    location  /i/ {
+        root  /data/w3;
+    }
+</example>
+на запрос "/i/top.gif" будет отдан файл "/data/w3/i/top.gif".
+</para>
+
+<para>
+В значении пути можно использовать переменные.
+</para>
+
+<para>
+Путь к файлу формируется как простое добавление URI к значению директивы root.
+Если же необходима модификация URI, то нужно воспользоваться директивой
+<link id="alias"/>.
+</para>
+
+</directive>
+
+
+<directive name="satisfy">
+<syntax>satisfy <value>all|any</value></syntax>
+<default>satisfy all</default>
+<context>location</context>
+
+<para>
+Директива разрешает доступ при хотя бы одной успешной проверке,
+выполненной модулями <link doc="ngx_http_access_module.xml">ngx_http_access_module</link>
+или <link doc="ngx_http_auth_basic_module.xml">ngx_http_auth_basic_module</link>:
+<example>
+location / {
+    satisfy  any;
+
+    allow  192.168.1.0/32;
+    deny   all;
+
+    auth_basic            "closed site";
+    auth_basic_user_file  conf/htpasswd;
+}
+</example>
+</para>
+
+</directive>
+
+
+<directive name="satisfy_any">
+<syntax>satisfy_any <value>on|off</value></syntax>
+<default>satisfy_any off</default>
+<context>location</context>
+
+<para>
+Директива переименована в директиву <link id="satisfy"/>.
+</para>
+
+</directive>
+
+
+<directive name="send_timeout">
+<syntax>send_timeout <value>время</value></syntax>
+<default>send_timeout 60</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт таймаут при передаче ответа клиенту.
+Таймаут устанавливается не на всю передачу ответа,
+а только между двумя операциями записями.
+Если по истечении этого времени клиент ничего не примет,
+то nginx закрывает соединение.
+</para>
+
+</directive>
+
+
+<directive name="sendfile">
+<syntax>sendfile <value>[on|off]</value></syntax>
+<default>sendfile off</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает использовать sendfile().
+</para>
+
+</directive>
+
+
+<directive name="server">
+<syntax>server { ... }</syntax>
+<default>нет</default>
+<context>http</context>
+
+<para>
+Директива задаёт конфигурацию для виртуального сервера.
+Чёткого разделения виртуальных серверов ip-based (на основании ip-адреса)
+и name-based (на основании имени, передаваемого в строке "Host"
+заголовка запроса), нет.
+Вместо этого директивами <link id="listen"/> описываются все адреса
+и порты, на которых нужно принимать соединения для этого сервера,
+и в директиве <link id="server_name"/> указываются все имена серверов.
+Пример конфигурации описан в <link doc="../virtual_hosts.xml">
+настройке виртуальных серверов</link>.
+</para>
+
+</directive>
+
+
+<directive name="server_name">
+<syntax>server_name <value>имя [...]</value></syntax>
+<default>server_name hostname</default>
+<context>server</context>
+
+<para>
+Директива задаёт имена виртуального сервера, например:
+<example>
+server {
+    server_name   example.com  www.example.com;
+}
+</example>
+</para>
+
+<para>
+Первое имя становится основным именем сервера.
+По умолчанию используется имя машины (hostname).
+В именах серверов можно использовать "*" для замены первой или последней
+части имени:
+<example>
+server {
+    server_name   example.com  *.example.com  www.example.*;
+}
+</example>
+</para>
+
+<para>
+Два первых вышеприведённых имени можно объединить в одно:
+<example>
+server {
+    server_name   .example.com;
+}
+</example>
+</para>
+
+<para>
+Кроме того, в качестве имени сервера можно использовать регулярное
+выражение, указав перед ним "~":
+<example>
+server {
+    server_name   www.example.com   ~^www\d+\.example\.com$;
+}
+</example>
+</para>
+
+<para>
+Регулярное выражение может содержать выделения (0.7.40), которые
+могут затем использоваться в других директивах:
+<example>
+server {
+    server_name   ~^(www\.)?(.+)$;
+
+    location / {
+        root  /sites/$2;
+    }
+}
+
+server {
+    server_name   _;
+
+    location / {
+        root  /sites/default;
+    }
+}
+</example>
+</para>
+
+<para>
+Начиная с 0.8.25, именованные выделения в регулярном выражении создают
+переменные, которые могут затем использоваться в других директивах:
+<example>
+server {
+    server_name   ~^(www\.)?(<emphasis>?&lt;domain&gt;</emphasis>.+)$;
+
+    location / {
+        root  /sites/<emphasis>$domain</emphasis>;
+    }
+}
+
+server {
+    server_name   _;
+
+    location / {
+        root  /sites/default;
+    }
+}
+</example>
+</para>
+
+<para>
+Начиная с 0.7.11, можно использовать пустое имя "":
+<example>
+server {
+    server_name   www.example.com   "";
+}
+</example>
+что позволяет обрабатывать запросы без строки "Host" в заголовке запроса
+в этом сервере, а не в сервере по умолчанию для данной пары адрес:порт.
+</para>
+
+<para>
+Порядок проверки имён следующий:
+<list type="bullet">
+
+<listitem>
+полные имена,
+</listitem>
+
+<listitem>
+имена с маской в начале имени — *.example.com,
+</listitem>
+
+<listitem>
+имена с маской в конце имени — mail.*,
+</listitem>
+
+<listitem>
+регулярные выражения.
+</listitem>
+
+</list>
+</para>
+
+</directive>
+
+
+<directive name="server_name_in_redirect">
+<syntax>server_name_in_redirect <value>[on|off]</value></syntax>
+<default>server_name_in_redirect on</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает использовать в редиректах, выдаваемых
+nginx'ом, основное имя сервера, задаваемое директивой
+<link id="server_name"/>.
+Если использование основного имени запрещено, то используется имя,
+указанного в строке "Host" в заголовке запроса.
+Если же этой строки нет, то используется IP-адрес сервера.
+</para>
+
+</directive>
+
+
+<directive name="server_names_hash_max_size">
+<syntax>server_names_hash_max_size <value>число</value></syntax>
+<default>server_names_hash_max_size 512</default>
+<context>http</context>
+
+<para>
+Директива задаёт максимальный размер хэш-таблиц имён серверов.
+Подробнее смотри в <link doc="../hash.xml">описании
+настройки хэшей</link>.
+</para>
+
+</directive>
+
+
+<directive name="server_names_hash_bucket_size">
+<syntax>server_names_hash_bucket_size <value>число</value></syntax>
+<default>server_names_hash_bucket_size 32/64/128</default>
+<context>http</context>
+
+<para>
+Директива задаёт размер корзины в хэш-таблицах имён серверов.
+Значение по умолчанию зависит от размера строки кэша процессора.
+Подробнее смотри в <link doc="../hash.xml">описании
+настройки хэшей</link>.
+</para>
+
+</directive>
+
+
+<directive name="server_tokens">
+<syntax>server_tokens <value>[on|off]</value></syntax>
+<default>server_tokens on</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает выдавать версию nginx'а
+в сообщениях об ошибках и в строке заголовка ответа "Server".
+</para>
+
+</directive>
+
+
+<directive name="tcp_nodelay">
+<syntax>tcp_nodelay <value>[on|off]</value></syntax>
+<default>tcp_nodelay on</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает использовать опцию TCP_NODELAY.
+Опция включаются только при переходе соединения в состояние keep-alive.
+</para>
+
+</directive>
+
+
+<directive name="tcp_nopush">
+<syntax>tcp_nopush <value>[on|off]</value></syntax>
+<default>tcp_nopush off</default>
+<context>http, server, location</context>
+
+<para>
+Директива разрешает или запрещает использовать опции
+TCP_NOPUSH во FreeBSD или TCP_CORK в Linux.
+Опции включаются только при использовании <link id="sendfile"/>.
+Включение опции позволяет
+<list type="bullet">
+
+<listitem>
+передавать заголовок ответа и начало файла в одном пакете в Linux
+и во FreeBSD 4.x;
+</listitem>
+
+<listitem>
+передавать файл в полных пакетах.
+</listitem>
+
+</list>
+</para>
+
+</directive>
+
+
+<directive name="try_files">
+<syntax>try_files <value>файл [файл ...] (uri|=код)</value></syntax>
+<default>нет</default>
+<context>location</context>
+
+<para>
+Директива проверяет существование файлов в заданном порядке
+и использует для обработки запроса первый найденный файл, причём
+обработка делается в контексте этого же location'а.
+С помощью слэша в конце имени можно задать проверку существования
+каталога, например, так — "$uri/".
+В случае, если ни один файл не найден, то делается внутренний редирект
+на последний параметр.
+Последний параметр может быть кодом (0.7.51):
+<example>
+location / {
+    try_files      $uri  $uri/index.html  $uri.html  =404;
+}
+</example>
+</para>
+
+<para>
+Пример использования при проксировании Mongrel:
+<example>
+location / {
+    try_files      /system/maintenance.html
+                   $uri  $uri/index.html  $uri.html
+                   @mongrel;
+}
+
+location @mongrel {
+    proxy_pass     http://mongrel;
+}
+</example>
+</para>
+
+<para>
+Пример использования вместе с Drupal/FastCGI:
+<example>
+location / {
+    try_files      $uri  $uri/  @drupal;
+}
+
+location ~ \.php$ {
+    try_files      $uri  @drupal;
+
+    fastcgi_pass   ...;
+
+    fastcgi_param  SCRIPT_FILENAME  /path/to$fastcgi_script_name;
+    fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
+    fastcgi_param  QUERY_STRING     $args;
+
+    ... прочие fastcgi_param
+}
+
+location @drupal {
+    fastcgi_pass   ...;
+
+    fastcgi_param  SCRIPT_FILENAME  /path/to/index.php;
+    fastcgi_param  SCRIPT_NAME      /index.php;
+    fastcgi_param  QUERY_STRING     q=$uri&amp;$args;
+
+    ... прочие fastcgi_param
+}
+</example>
+В этом примере директива try_files
+<example>
+location / {
+    try_files      $uri  $uri/  @drupal;
+}
+</example>
+аналогична директивам
+<example>
+location / {
+    error_page     404 = @drupal;
+    log_not_found  off;
+}
+</example>
+А здесь
+<example>
+location ~ \.php$ {
+    try_files      $uri  @drupal;
+
+    fastcgi_pass   ...;
+
+    fastcgi_param  SCRIPT_FILENAME  /path/to$fastcgi_script_name;
+
+    ...
+}
+</example>
+try_files тестирует существование PHP-файла,
+прежде чем передать запрос FastCGI-серверу.
+</para>
+
+<para>
+Пример использования вместе с Wordpress и Joomla:
+<example>
+location / {
+    try_files      $uri  $uri/  @wordpress;
+}
+
+location ~ \.php$ {
+    try_files      $uri  @wordpress;
+
+    fastcgi_pass   ...;
+
+    fastcgi_param  SCRIPT_FILENAME  /path/to$fastcgi_script_name;
+    ... прочие fastcgi_param
+}
+
+location @wordpress {
+    fastcgi_pass   ...;
+
+    fastcgi_param  SCRIPT_FILENAME  /path/to/index.php;
+    ... прочие fastcgi_param
+}
+</example>
+</para>
+
+</directive>
+
+
+<directive name="types">
+<syntax>types <value>{ ... }</value></syntax>
+<default>see below</default>
+<context>http, server, location</context>
+
+<para>
+Директива задаёт соответствие расширения и MIME-типов ответов.
+Одному MIME-типу может соответствовать несколько расширений.
+По умолчанию используется такие соответствия:
+<example>
+types {
+    text/html    html;
+    image/gif    gif;
+    image/jpeg   jpg;
+}
+</example>
+</para>
+
+<para>
+Достаточно полная таблица соответствий входит в дистрибутив
+и находится в файле conf/mime.types.
+</para>
+
+<para>
+Для того, чтобы для определённого location'а для всех ответов выдавался
+MIME-тип "application/octet-stream", можно использовать следующее:
+<example>
+location /download/ {
+    types         { }
+    default_type  application/octet-stream;
+}
+</example>
+</para>
+
+</directive>
+
+
+<directive name="underscores_in_headers">
+<syntax>underscores_in_headers <value>[on|off]</value></syntax>
+<default>underscores_in_headers off</default>
+<context>http, server</context>
+
+<para>
+Директива разрешает или запрещает использование символов подчёркивания
+в строках заголовка запроса клиента.
+</para>
+
+</directive>
+
+</section>
+
+
+<section name="Встроенные переменные" id="variables">
+
+<para>
+Модуль ngx_http_core_module поддерживает встроенные переменные, имена
+которых совпадают с именами переменных в Apache.
+Прежде всего, это переменные, представляющие из себя строки заголовка
+запроса клиента, например, $http_user_agent, $http_cookie
+и тому подобное. Кроме того, есть и другие переменные:
+<list type="bullet">
+
+<listitem>
+$args, эта переменная равна аргументам в строке запроса;
+</listitem>
+
+<listitem>
+$arg_<value>name</value>, эта переменная равна аргументу <value>name</value>
+в строке запроса;
+</listitem>
+
+<listitem>
+$binary_remote_addr, эта переменная равна адресу клиента в бинарном виде,
+длина её значения всегда 4 байта;
+</listitem>
+
+<listitem>
+$content_length, эта переменная равна строке "Content-Length" в заголовке
+запроса;
+</listitem>
+
+<listitem>
+$content_type, эта переменная равна строке "Content-Type" в заголовке запроса;
+</listitem>
+
+<listitem>
+$cookie_<value>name</value>, эта переменная равна cookie <value>name</value>;
+</listitem>
+
+<listitem>
+$document_root, эта переменная равна значению директивы root для
+текущего запроса;
+</listitem>
+
+<listitem>
+$document_uri, то же самое, что и $uri;
+</listitem>
+
+<listitem>
+$host, эта переменная равна строке "Host" в заголовке запроса
+или имени сервера, на который пришёл запрос, если этой строки нет;
+</listitem>
+
+<listitem>
+$hostname, эта переменная равна имени хоста;
+</listitem>
+
+<listitem>
+$http_<value>name</value>, эта переменная равна строке <value>name</value>
+в заголовке запроса;
+</listitem>
+
+<listitem>
+$is_args, эта переменная равна "?", если в строке запроса есть аргументы,
+и пустой строке, если их нет;
+</listitem>
+
+<listitem>
+$limit_rate, эта переменная позволяет установить ограничение
+скорости соединения;
+</listitem>
+
+<listitem>
+$pid, эта переменная равна номеру рабочего процесса;
+</listitem>
+
+<listitem>
+$request_method, эта переменная равна методу запроса,
+обычно это "GET" или "POST";
+</listitem>
+
+<listitem>
+$remote_addr, эта переменная равна адресу клиента;
+</listitem>
+
+<listitem>
+$remote_port, эта переменная равна порту клиента;
+</listitem>
+
+<listitem>
+$remote_user, эта переменная равна имени пользователя, используемого
+в Basic аутентификации;
+</listitem>
+
+<listitem>
+$realpath_root, эта переменная равна значению директивы root для
+текущего запроса, при этом все символические ссылки преобразованы
+в реальные путь;
+</listitem>
+
+<listitem>
+$request_filename, эта переменная равна пути к файлу для текущего
+запроса, формируемому из директив root или alias и URI запроса;
+</listitem>
+
+<listitem>
+$request_body, эта переменная содержит тело запроса.
+Значение переменной появляется в location'ах, обрабатываемых директивами
+<link doc="ngx_http_proxy_module.xml#proxy_pass">proxy_pass</link>
+и <link doc="ngx_http_fastcgi_module.xml#fastcgi_pass">fastcgi_pass</link>.
+</listitem>
+
+<listitem>
+$request_body_file, эта переменная равна имени временного файла, в котором
+хранится тело запроса.
+По завершению работы файл необходимо удалить.
+Для того, чтобы тело запроса клиента всегда записывалось в файл, нужно
+указать <link doc="ngx_http_core_module.xml#client_body_in_file_only">client_body_in_file_only on</link>.
+При передаче имени в проксированном запросе или в запросе к FastCGI-серверу
+следует запретить передачу самого тела директивами
+"proxy_pass_request_body off" или
+"fastcgi_pass_request_body off" соответственно.
+</listitem>
+
+<listitem>
+$request_uri, эта переменная равна полному первоначальному URI вместе
+с аргументами;
+</listitem>
+
+<listitem>
+$query_string, то же самое, что и $args;
+</listitem>
+
+<listitem>
+$scheme, эта переменная равна схеме запроса — "http" или "https";
+</listitem>
+
+<listitem>
+$server_protocol, эта переменная равна протоколу запроса,
+обычно это "HTTP/1.0" или "HTTP/1.1";
+</listitem>
+
+<listitem>
+$server_addr, эта переменная равна адресу сервера, на который пришёл запрос.
+Как правило, для получения значения этой переменной делается один системный
+вызов. Для того, чтобы избежать системного вызова, нужно указывать
+адреса в директивах listen и использовать параметр bind;
+</listitem>
+
+<listitem>
+$server_name, эта переменная равна имени сервера, на который пришёл запрос;
+</listitem>
+
+<listitem>
+$server_port, эта переменная равна порту сервера, на который пришёл запрос;
+</listitem>
+
+<listitem>
+$uri, эта переменная равна текущему URI в запросе, он
+может отличаться от первоначального, например, при внутренних редиректах
+или при использовании индексных файлов.
+</listitem>
+
+</list>
+</para>
+
+</section>
+
+</module>