comparison xml/ru/docs/http/ngx_http_proxy_module.xml @ 1990:a108f1ff1690

Better documented proxy_pass with variables (ticket #803).
author Ruslan Ermilov <ru@nginx.com>
date Fri, 26 May 2017 18:58:02 +0300
parents 7bf1a73248f5
children 40467656998b
comparison
equal deleted inserted replaced
1989:7bf1a73248f5 1990:a108f1ff1690
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9 9
10 <module name="Модуль ngx_http_proxy_module" 10 <module name="Модуль ngx_http_proxy_module"
11 link="/ru/docs/http/ngx_http_proxy_module.html" 11 link="/ru/docs/http/ngx_http_proxy_module.html"
12 lang="ru" 12 lang="ru"
13 rev="61"> 13 rev="62">
14 14
15 <section id="summary"> 15 <section id="summary">
16 16
17 <para> 17 <para>
18 Модуль <literal>ngx_http_proxy_module</literal> позволяет передавать 18 Модуль <literal>ngx_http_proxy_module</literal> позволяет передавать
1377 Кроме того, в качестве адреса можно указать 1377 Кроме того, в качестве адреса можно указать
1378 <link doc="ngx_http_upstream_module.xml">группу серверов</link>. 1378 <link doc="ngx_http_upstream_module.xml">группу серверов</link>.
1379 </para> 1379 </para>
1380 1380
1381 <para> 1381 <para>
1382 В значении параметра можно использовать переменные.
1383 В этом случае, если адрес указан в виде доменного имени,
1384 имя ищется среди описанных групп серверов
1385 и если не найдено, то определяется с помощью
1386 <link doc="ngx_http_core_module.xml" id="resolver"/>’а.
1387 </para>
1388
1389 <para>
1382 URI запроса передаётся на сервер так: 1390 URI запроса передаётся на сервер так:
1383 <list type="bullet" compact="no"> 1391 <list type="bullet" compact="no">
1384 1392
1385 <listitem> 1393 <listitem>
1386 Если директива <literal>proxy_pass</literal> указана с URI, 1394 Если директива <literal>proxy_pass</literal> указана с URI,
1443 <para> 1451 <para>
1444 В этом случае URI, указанный в директиве, игнорируется, и на сервер 1452 В этом случае URI, указанный в директиве, игнорируется, и на сервер
1445 передаётся изменённый URI запроса целиком. 1453 передаётся изменённый URI запроса целиком.
1446 </para> 1454 </para>
1447 </listitem> 1455 </listitem>
1456
1457 <listitem>
1458 При использовании переменных в <literal>proxy_pass</literal>:
1459 <example>
1460 location /name/ {
1461 proxy_pass http://127.0.0.1$request_uri;
1462 }
1463 </example>
1464 В этом случае если в директиве указан URI,
1465 он передаётся на сервер как есть,
1466 заменяя URI первоначального запроса.
1467 </listitem>
1448 </list> 1468 </list>
1449 </para>
1450
1451 <para>
1452 Имя сервера, его порт и передаваемый URI можно также полностью задать
1453 с помощью переменных:
1454 <example>
1455 proxy_pass http://$host$uri;
1456 </example>
1457 или даже так:
1458 <example>
1459 proxy_pass $request;
1460 </example>
1461 </para>
1462
1463 <para>
1464 В этом случае имя сервера ищется среди описанных
1465 <link doc="ngx_http_upstream_module.xml">групп серверов</link>
1466 и если не найдено, то определяется с помощью
1467 <link doc="ngx_http_core_module.xml" id="resolver"/>’а.
1468 </para> 1469 </para>
1469 1470
1470 <para> 1471 <para>
1471 Проксирование <link doc="websocket.xml">WebSocket</link> требует особой 1472 Проксирование <link doc="websocket.xml">WebSocket</link> требует особой
1472 настройки и поддерживается начиная с версии 1.3.13. 1473 настройки и поддерживается начиная с версии 1.3.13.