Назначение доп. заголовков через include virtual в рамках проксируемых запросов

Maxim Dounin mdounin at mdounin.ru
Wed Sep 24 01:18:56 MSD 2008


Hello!

On Tue, Sep 23, 2008 at 02:22:33PM +0400, Kost wrote:

> Есть примерный конфиг:
>
> location /1.html {
>   proxy_pass  http://localhost:8080/;
> }
> location /setcookie/{
>   if ($uri ~* "\/setcookie\/(.+)" ) {
>     set $new_cookie $1;
>     add_header Set-Cookie $new_cookie;
>   }
>   return 200;
> }
>
>
> При обработке /1.html формируется новая ssi переменная и дергается  
> include, в котором, по-идее будет ставиться новый заголовок.
> 1.html:
>
> <!--# set var="newcookie" value="Test=1; expires=Mon, 22 Dec 2008 
> 07:16:04 GMT; path=/; domain=localhost"  -->
> <!--# if expr="$newcookie" -->
> 	<!--# echo var="NewCookie"  -->
> 	<!--# include virtual="/setcookie/$newcookie" wait="yes"  -->
> <!--# endif -->
>
> Вопрос состоит в том, чтобы заголовки, установленный внутри /setcookie/  
> транслировались наверх и отдавались клиенту при запросе /1.html
> Если это вообще возможно, то подскажите плиз, куда вообще рыть?

Это вообще возможно на этапе формирования заголовка ответа.  SSI 
исполняется на этапе выдачи тела, после того как заголовок уже 
ушёл клиенту.

Т.е. рыть - в сторону других возможных решений (e.g. выдавать 
заголовок Set-Cookie непосредственно бекендом).

Maxim Dounin





More information about the nginx-ru mailing list