diff xml/ru/docs/http/ngx_http_upstream_module.xml @ 1945:88477c5d2751

Moved "health_check" and "match" to ngx_http_upstream_hc_module.
author Yaroslav Zhuravlev <yar@nginx.com>
date Thu, 30 Mar 2017 21:26:44 +0300
parents a58b35cc0823
children 5c55b7054b58
line wrap: on
line diff
--- a/xml/ru/docs/http/ngx_http_upstream_module.xml	Wed Mar 29 22:55:20 2017 +0300
+++ b/xml/ru/docs/http/ngx_http_upstream_module.xml	Thu Mar 30 21:26:44 2017 +0300
@@ -10,7 +10,7 @@
 <module name="Модуль ngx_http_upstream_module"
         link="/ru/docs/http/ngx_http_upstream_module.html"
         lang="ru"
-        rev="59">
+        rev="60">
 
 <section id="summary">
 
@@ -50,7 +50,9 @@
 </para>
 
 <para>
-Динамически настраиваемая группа,
+Динамически настраиваемая группа
+с периодическими
+<link doc="ngx_http_upstream_hc_module.xml">проверками работоспособности</link>
 доступна как часть
 <commercial_version>коммерческой подписки</commercial_version>:
 <example>
@@ -324,7 +326,7 @@
 задаёт <value>время</value>, в течение которого вес сервера
 восстановится от нуля до своего номинального значения в ситуации, когда
 неработоспособный (unhealthy) сервер вновь становится работоспособным
-(<link id="health_check">healthy</link>)
+(<link doc="ngx_http_upstream_hc_module.xml" id="health_check">healthy</link>)
 или когда сервер становится доступным по прошествии времени,
 в течение которого он считался <link id="fail_timeout">недоступным</link>.
 Значение по умолчанию равно нулю и означает, что медленный старт выключен.
@@ -748,304 +750,6 @@
 </directive>
 
 
-<directive name="health_check">
-<syntax>[<value>параметры</value>]</syntax>
-<default/>
-<context>location</context>
-
-<para>
-Активирует периодические проверки работоспособности серверов в
-<link id="upstream">группе</link>, указанной в содержащем location.
-</para>
-
-<para>
-Могут быть заданы следующие необязательные параметры:
-<list type="tag">
-
-<tag-name id="interval">
-<literal>interval</literal>=<value>время</value>
-</tag-name>
-<tag-desc>
-задаёт интервал между двумя последовательными проверками,
-по умолчанию 5 секунд.
-</tag-desc>
-
-<tag-name id="health_check_jitter">
-<literal>jitter</literal>=<value>время</value>
-</tag-name>
-<tag-desc>
-задаёт время, в пределах которого
-случайным образом задерживается каждая проверка,
-по умолчанию задержки нет.
-</tag-desc>
-
-<tag-name id="fails">
-<literal>fails</literal>=<value>число</value>
-</tag-name>
-<tag-desc>
-задаёт число последовательных неуспешных проверок для определённого сервера,
-после которых сервер будет считаться неработоспособным,
-по умолчанию 1.
-</tag-desc>
-
-<tag-name id="passes">
-<literal>passes</literal>=<value>число</value>
-</tag-name>
-<tag-desc>
-задаёт число последовательных успешных проверок для определённого сервера,
-после которых сервер будет считаться работоспособным,
-по умолчанию 1.
-</tag-desc>
-
-<tag-name id="uri">
-<literal>uri</literal>=<value>uri</value>
-</tag-name>
-<tag-desc>
-задаёт URI, используемый в запросах, проверяющих работоспособность,
-по умолчанию “<literal>/</literal>”.
-</tag-desc>
-
-<tag-name id="health_check_mandatory">
-<literal>mandatory</literal>
-</tag-name>
-<tag-desc>
-устанавливает исходное состояние “checking” для сервера
-до завершения первой проверки работоспособности (1.11.7).
-Если параметр не указан,
-то исходно сервер будет считаться работоспособным.
-</tag-desc>
-
-<tag-name id="hc_match">
-<literal>match</literal>=<value>имя</value>
-</tag-name>
-<tag-desc>
-указывает на блок <literal>match</literal> с условиями, которым должен
-удовлетворять ответ, чтобы результат проверки считался успешным.
-По умолчанию код ответа должен быть 2xx или 3xx.
-</tag-desc>
-
-<tag-name id="health_check_port">
-<literal>port</literal>=<value>число</value>
-</tag-name>
-<tag-desc>
-задаёт порт, используемый при подключении к серверу
-для проверки его работоспособности (1.9.7).
-По умолчанию совпадает с портом <link id="server">сервера</link>.
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-В примере
-<example>
-location / {
-    proxy_pass http://backend;
-    health_check;
-}
-</example>
-каждому серверу группы <literal>backend</literal>
-с интервалом в 5 секунд посылаются запросы “<literal>/</literal>”.
-Если происходит ошибка или таймаут при работе с сервером, или
-код ответа проксируемого сервера не равен
-2xx или 3xx, проверка считается неуспешной и сервер
-признаётся неработоспособным.
-На неработоспособные серверы и серверы в состоянии “checking”
-клиентские запросы передаваться не будут.
-</para>
-
-<para>
-Проверки работоспособности могут тестировать код ответа,
-наличие или отсутствие определённых полей заголовка и их значений,
-а также содержимое тела ответа.
-Тесты настраиваются отдельно при помощи директивы <link id="match"/>
-и указываются в параметре <literal>match</literal>.
-Например:
-<example>
-http {
-    server {
-    ...
-        location / {
-            proxy_pass http://backend;
-            health_check match=welcome;
-        }
-    }
-
-    match welcome {
-        status 200;
-        header Content-Type = text/html;
-        body ~ "Welcome to nginx!";
-    }
-}
-</example>
-В такой конфигурации успешный ответ на проверочный запрос
-должен иметь код 200, тип содержимого “<literal>text/html</literal>”
-и “<literal>Welcome to nginx!</literal>” в теле ответа.
-</para>
-
-<para>
-Группа должна находиться в <link id="zone">зоне разделяемой памяти</link>.
-</para>
-
-<para>
-Если для группы задано несколько проверок,
-то при любой неуспешной проверке соответствующий сервер будет
-считаться неработоспособным.
-</para>
-
-<para>
-<note>
-Обратите внимание, что при использовании проверок
-большинство переменных имеют пустые значения.
-</note>
-</para>
-
-<para>
-<note>
-Эта директива доступна как часть
-<commercial_version>коммерческой подписки</commercial_version>.
-</note>
-</para>
-
-</directive>
-
-
-<directive name="match">
-<syntax block="yes"><value>имя</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-Задаёт именованный набор тестов для анализа ответов
-на запросы проверки работоспособности.
-</para>
-
-<para>
-В ответе могут быть протестированы следующие объекты:
-<list type="tag">
-
-<tag-name><literal>status 200;</literal></tag-name>
-<tag-desc>код ответа равен 200</tag-desc>
-
-<tag-name><literal>status ! 500;</literal></tag-name>
-<tag-desc>код ответа не равен 500</tag-desc>
-
-<tag-name><literal>status 200 204;</literal></tag-name>
-<tag-desc>код ответа равен 200 или 204</tag-desc>
-
-<tag-name><literal>status ! 301 302;</literal></tag-name>
-<tag-desc>код ответа не равен ни 301, ни 302</tag-desc>
-
-<tag-name><literal>status 200-399;</literal></tag-name>
-<tag-desc>код ответа находится в диапазоне от 200 до 399</tag-desc>
-
-<tag-name><literal>status ! 400-599;</literal></tag-name>
-<tag-desc>код ответа находится вне диапазона от 400 до 599</tag-desc>
-
-<tag-name><literal>status 301-303 307;</literal></tag-name>
-<tag-desc>код ответа равен 301, 302, 303 или 307</tag-desc>
-
-</list>
-
-<list type="tag">
-
-<tag-name><literal>header Content-Type = text/html;</literal></tag-name>
-<tag-desc>
-заголовок содержит <header>Content-Type</header>
-со значением <literal>text/html</literal>
-</tag-desc>
-
-<tag-name><literal>header Content-Type != text/html;</literal></tag-name>
-<tag-desc>
-заголовок содержит <header>Content-Type</header>
-со значением, отличным от <literal>text/html</literal>
-</tag-desc>
-
-<tag-name><literal>header Connection ~ close;</literal></tag-name>
-<tag-desc>
-заголовок содержит <header>Connection</header>
-со значением, совпадающим с регулярным выражением <literal>close</literal>
-</tag-desc>
-
-<tag-name><literal>header Connection !~ close;</literal></tag-name>
-<tag-desc>
-заголовок содержит <header>Connection</header>
-со значением, не совпадающим с регулярным выражением <literal>close</literal>
-</tag-desc>
-
-<tag-name><literal>header Host;</literal></tag-name>
-<tag-desc>заголовок содержит <header>Host</header></tag-desc>
-
-<tag-name><literal>header ! X-Accel-Redirect;</literal></tag-name>
-<tag-desc>заголовок не содержит <header>X-Accel-Redirect</header></tag-desc>
-
-</list>
-
-<list type="tag">
-
-<tag-name><literal>body ~ "Welcome to nginx!";</literal></tag-name>
-<tag-desc>
-тело ответа совпадает с регулярным выражением
-“<literal>Welcome to nginx!</literal>”
-</tag-desc>
-
-<tag-name><literal>body !~ "Welcome to nginx!";</literal></tag-name>
-<tag-desc>
-тело ответа не совпадает с регулярным выражением
-“<literal>Welcome to nginx!</literal>”
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-Если задано несколько тестов,
-то ответ должен удовлетворять всем тестам.
-<note>
-Проверяются только первые 256 Кбайт тела ответа.
-</note>
-</para>
-
-<para>
-Примеры:
-<example>
-# код ответа 200, тип содержимого "text/html"
-# и тело ответа содержит "Welcome to nginx!"
-match welcome {
-    status 200;
-    header Content-Type = text/html;
-    body ~ "Welcome to nginx!";
-}
-</example>
-
-<example>
-# код ответа не равен 301, 302, 303 и 307 и заголовок не содержит "Refresh:"
-match not_redirect {
-    status ! 301-303 307;
-    header ! Refresh;
-}
-</example>
-
-<example>
-# код ответа успешный и сервер не в сервисном режиме
-match server_ok {
-    status 200-399;
-    body !~ "maintenance mode";
-}
-</example>
-
-</para>
-
-<para>
-<note>
-Эта директива доступна как часть
-<commercial_version>коммерческой подписки</commercial_version>.
-</note>
-</para>
-
-</directive>
-
-
 <directive name="queue">
 <syntax>
 <value>число</value>