Mercurial > hg > nginx-site
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 +++ b/xml/ru/docs/http/ngx_http_upstream_module.xml @@ -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 @@ server { </para> <para> -Динамически настраиваемая группа, +Динамически настраиваемая группа +с периодическими +<link doc="ngx_http_upstream_hc_module.xml">проверками работоспособности</link> доступна как часть <commercial_version>коммерческой подписки</commercial_version>: <example> @@ -324,7 +326,7 @@ SRV-записи с наивысшим приоритетом задаёт <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 @@ server { </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>