changeset 417:cbc2d1b51cb6

Documented the proxy_cookie_domain and proxy_cookie_path directives.
author Ruslan Ermilov <ru@nginx.com>
date Wed, 15 Feb 2012 21:44:31 +0000
parents c9c0550465c9
children 2638f67205ee
files xml/en/docs/http/ngx_http_proxy_module.xml xml/ru/docs/http/ngx_http_proxy_module.xml
diffstat 2 files changed, 274 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/docs/http/ngx_http_proxy_module.xml	Wed Feb 15 14:45:05 2012 +0000
+++ b/xml/en/docs/http/ngx_http_proxy_module.xml	Wed Feb 15 21:44:31 2012 +0000
@@ -375,6 +375,143 @@
 </directive>
 
 
+<directive name="proxy_cookie_domain">
+<syntax><literal>off</literal></syntax>
+<syntax><value>domain</value> <value>replacement</value></syntax>
+<default>off</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.1.15</appeared-in>
+
+<para>
+Sets a text that should be changed in the <literal>domain</literal>
+attribute of the <header>Set-Cookie</header> header fields of a
+proxied server response.
+Suppose a proxied server returned the header field
+<header>Set-Cookie</header> with the attribute
+“<literal>domain=localhost</literal>”.
+The directive
+<example>
+proxy_cookie_domain localhost example.org;
+</example>
+will rewrite this attribute to
+“<literal>domain=example.org</literal>”.
+</para>
+
+<para>
+A dot at the beginning of the <value>domain</value> and
+<value>replacement</value> strings, and the <literal>domain</literal>
+attribute is ignored.
+Matching is case-insensitive.
+</para>
+
+<para>
+The strings <value>domain</value> and <value>replacement</value>
+can contain variables:
+<example>
+proxy_cookie_domain www.$host $host;
+</example>
+</para>
+
+<para>
+A directive can also be specified using regular expressions.
+In this case, <value>domain</value> should start from
+the “<literal>~</literal>” symbol.
+A regular expression can contain named and positional captures,
+and <value>replacement</value> can reference them:
+<example>
+proxy_cookie_domain ~\.(?P&lt;sl_domain&gt;[-0-9a-z]+\.[a-z]+)$ $sl_domain;
+</example>
+</para>
+
+<para>
+There could be several <literal>proxy_cookie_domain</literal> directives:
+<example>
+proxy_cookie_domain localhost example.org;
+proxy_cookie_domain ~\.([a-z]+\.[a-z]+)$ $1;
+</example>
+</para>
+
+<para>
+The <literal>off</literal> parameter cancels all
+<literal>proxy_cookie_domain</literal> directives on the current level:
+<example>
+proxy_cookie_domain off;
+proxy_cookie_domain localhost example.org;
+proxy_cookie_domain www.example.org example.org;
+</example>
+</para>
+
+</directive>
+
+
+<directive name="proxy_cookie_path">
+<syntax><literal>off</literal></syntax>
+<syntax><value>path</value> <value>replacement</value></syntax>
+<default>off</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.1.15</appeared-in>
+
+<para>
+Sets a text that should be changed in the <literal>path</literal>
+attribute of the <header>Set-Cookie</header> header fields of a
+proxied server response.
+Suppose a proxied server returned the header field
+<header>Set-Cookie</header> with the attribute
+“<literal>path=/two/some/uri/</literal>”.
+The directive
+<example>
+proxy_cookie_path /two/ /;
+</example>
+will rewrite this attribute to
+“<literal>path=/some/uri/</literal>”.
+</para>
+
+<para>
+The strings <value>path</value> and <value>replacement</value>
+can contain variables:
+<example>
+proxy_cookie_path $uri /some$uri;
+</example>
+</para>
+
+<para>
+A directive can also be specified using regular expressions.
+In this case, <value>path</value> should either start from
+the “<literal>~</literal>” symbol for a case-sensitive matching,
+or from the “<literal>~*</literal>” symbols for case-insensitive
+matching.
+A regular expression can contain named and positional captures,
+and <value>replacement</value> can reference them:
+<example>
+proxy_cookie_path ~*^/user/([^/]+) /u/$1;
+</example>
+</para>
+
+<para>
+There could be several <literal>proxy_cookie_path</literal> directives:
+<example>
+proxy_cookie_path /one/ /;
+proxy_cookie_path / /two/;
+</example>
+</para>
+
+<para>
+The <literal>off</literal> parameter cancels all
+<literal>proxy_cookie_path</literal> directives on the current level:
+<example>
+proxy_cookie_path off;
+proxy_cookie_path /two/ /;
+proxy_cookie_path ~*^/user/([^/]+) /u/$1;
+</example>
+</para>
+
+</directive>
+
+
 <directive name="proxy_hide_header">
 <syntax><value>field</value></syntax>
 <default/>
@@ -786,7 +923,7 @@
 
 <para>
 A directive can be specified (1.1.11) using regular expressions.
-In this case, <value>replacement</value> should either start from
+In this case, <value>redirect</value> should either start from
 the “<literal>~</literal>” symbol for a case-sensitive matching,
 or from the “<literal>~*</literal>” symbols for case-insensitive
 matching.
--- a/xml/ru/docs/http/ngx_http_proxy_module.xml	Wed Feb 15 14:45:05 2012 +0000
+++ b/xml/ru/docs/http/ngx_http_proxy_module.xml	Wed Feb 15 21:44:31 2012 +0000
@@ -374,6 +374,142 @@
 </directive>
 
 
+<directive name="proxy_cookie_domain">
+<syntax><literal>off</literal></syntax>
+<syntax><value>домен</value> <value>замена</value></syntax>
+<default>off</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.1.15</appeared-in>
+
+<para>
+Задаёт текст, который нужно изменить в атрибуте <literal>domain</literal>
+полей <header>Set-Cookie</header> заголовка ответа проксируемого сервера.
+Предположим, проксируемый сервер вернул поле заголовка
+<header>Set-Cookie</header> с атрибутом
+“<literal>domain=localhost</literal>”.
+Директива
+<example>
+proxy_cookie_domain localhost example.org;
+</example>
+перепишет данный атрибут в виде
+“<literal>domain=example.org</literal>”.
+</para>
+
+<para>
+Точка в начале строк <value>домен</value> и <value>замена</value>,
+а равно как и в атрибуте <literal>domain</literal> игнорируется.
+Регистр значения не имеет.
+</para>
+
+<para>
+В строках <value>домен</value> и <value>замена</value> можно использовать
+переменные:
+<example>
+proxy_cookie_domain www.$host $host;
+</example>
+</para>
+
+<para>
+Директиву также можно задать при помощи регулярных выражений.
+При этом <value>домен</value> должен начинаться с символа
+“<literal>~</literal>”.
+Регулярное выражение может содержать именованные и позиционные выделения,
+а <value>замена</value> ссылаться на них:
+<example>
+proxy_cookie_domain ~\.(?P&lt;sl_domain&gt;[-0-9a-z]+\.[a-z]+)$ $sl_domain;
+</example>
+</para>
+
+<para>
+Директив <literal>proxy_cookie_domain</literal> может быть несколько:
+<example>
+proxy_cookie_domain localhost example.org;
+proxy_cookie_domain ~\.([a-z]+\.[a-z]+)$ $1;
+</example>
+</para>
+
+<para>
+Параметр <literal>off</literal> запрещает все директивы
+<literal>proxy_cookie_domain</literal>
+на данном уровне:
+<example>
+proxy_cookie_domain off;
+proxy_cookie_domain localhost example.org;
+proxy_cookie_domain www.example.org example.org;
+</example>
+</para>
+
+</directive>
+
+
+<directive name="proxy_cookie_path">
+<syntax><literal>off</literal></syntax>
+<syntax><value>путь</value> <value>замена</value></syntax>
+<default>off</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.1.15</appeared-in>
+
+<para>
+Задаёт текст, который нужно изменить в атрибуте <literal>path</literal>
+полей <header>Set-Cookie</header> заголовка ответа проксируемого сервера.
+Предположим, проксируемый сервер вернул поле заголовка
+<header>Set-Cookie</header> с атрибутом
+“<literal>path=/two/some/uri/</literal>”.
+Директива
+<example>
+proxy_cookie_path /two/ /;
+</example>
+перепишет данный атрибут в виде
+“<literal>path=/some/uri/</literal>”.
+</para>
+
+<para>
+В строках <value>путь</value> и <value>замена</value> можно использовать
+переменные:
+<example>
+proxy_cookie_path $uri /some$uri;
+</example>
+</para>
+
+<para>
+Директиву также можно задать при помощи регулярных выражений.
+При этом <value>путь</value> должен начинаться либо с символа
+“<literal>~</literal>”, если при сравнении следует учитывать регистр символов,
+либо с символов “<literal>~*</literal>”, если регистр символов учитывать
+не нужно.
+Регулярное выражение может содержать именованные и позиционные выделения,
+а <value>замена</value> ссылаться на них:
+<example>
+proxy_cookie_path ~*^/user/([^/]+) /u/$1;
+</example>
+</para>
+
+<para>
+Директив <literal>proxy_cookie_path</literal> может быть несколько:
+<example>
+proxy_cookie_path /one/ /;
+proxy_cookie_path / /two/;
+</example>
+</para>
+
+<para>
+Параметр <literal>off</literal> запрещает все директивы
+<literal>proxy_cookie_path</literal>
+на данном уровне:
+<example>
+proxy_cookie_path off;
+proxy_cookie_path /two/ /;
+proxy_cookie_path ~*^/user/([^/]+) /u/$1;
+</example>
+</para>
+
+</directive>
+
+
 <directive name="proxy_hide_header">
 <syntax><value>поле</value></syntax>
 <default/>