Welcome! Log In Create A New Profile

Advanced

Re: memcached status

Konstantin Svist
December 03, 2009 01:22AM
On 12/02/2009 08:45 PM, Domrachev Ivan wrote:
> обработка ответов бэкенда на фронтенде
> domrachevivan
> May 27th, 9:05
> иногда очень хочется на фронтенде что то поправить в запросах к
> бэкенду, а также поменять ответ от бэкенда. рецепт как делать
> манипуляции с хиадерами:
>
> фронтенд - nginx. бэкенд в примере fastcgi, но может быть и любой
> другой. сути это не меняет.
> задача: от пользователя приходит кукис. кукис надо преобразовать и
> отдать бэкенду. от бэкенда приходит ответ, в нём есть хиадер который
> надо преобразовать и отдать пользователю.
>
> frontend nginx.conf:
> ...
> perl_modules perl;
> perl_require cookies.pm;
> perl_set $header cookies::parse_cookie;
> perl_set $cookie cookies::generate_cookie;
> ....
> location / {
> fastcgi_param header_name $header;
> fastcgi_hide_header header_name;
> add_header Set-Cookie $cookie;
> }
> ....
> cookies.pm:
>
> sub parse_cookie {
> ...
> return "parse_result";
> }
>
> sub generate_cookie {
> my $r=shift;
> my $header=$r->variable("upstream_http_header_name");
> ...
> return "name=value; expire=...";
> }
>
> как это работает:
> пользователь отправляет запрос с установленным кукисом.
> nginx его ловит и перед отправкой на бэкенд выполняет fastcgi_param
> header_name $header. это вызывает функцию parse_cookie которая
> разрезает параметры, производит необходимые манипуляции и возвращает
> необходимое бэкенду значение. nginx его передаёт в указанном параметре
> header_name.
> бэкенд обработав запрос, если надо, выставляет в ответе хиадер
> header_name.
> когда бэкенд отдаст ответ, то nginx перед отправкой пользователю
> выполняет add_header Set-Cookie $cookie, что вызывает функцию
> generate_cookie.
> в ней мы можем получить доступ к хиадерам, что отдал бэкенд:
> $r->variable("upstream_http_header_name"). обработать их и вернуть
> некий результат,
> который будет выставлен в ответе пользователю в хиадере Set-Cookie.
> не забываем сделать fastcgi_hide_header, что бы пользователю не уходил
> наш спец. хиадер.
>
>

Всё это хорошо, но клиенты у меня тупые - кто их знает если они cookie
поддерживают. Да и с перлом не хочется возиться.


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

memcached status

Konstantin Svist December 01, 2009 05:54PM

Re: memcached status

akalend December 02, 2009 02:18AM

Re: memcached status

Sergey Averyanov December 02, 2009 02:38AM

Re[2]: memcached status

akalend December 02, 2009 05:26AM

Re: Re[2]: memcached status

Sergey Averyanov December 02, 2009 06:06AM

Re: memcached status

Igor Sysoev December 02, 2009 06:26AM

Re: memcached status

Maxim Dounin December 02, 2009 06:50AM

Re: memcached status

Artem Bokhan December 02, 2009 07:26AM

Re: memcached status

Igor Sysoev December 02, 2009 09:20AM

Re: memcached status

Igor Sysoev December 02, 2009 06:28AM

Re: memcached status

Konstantin Svist December 02, 2009 11:58AM

Re[2]: memcached status

Domrachev Ivan December 02, 2009 11:46PM

Re: memcached status

Konstantin Svist December 03, 2009 01:22AM

Re[2]: memcached status

Domrachev Ivan December 03, 2009 01:34AM

Re: memcached status

Igor Sysoev December 03, 2009 02:26AM

Re: memcached status

Konstantin Svist December 03, 2009 03:16AM

Re: memcached status

Igor Sysoev December 03, 2009 03:20AM

Re: memcached status

Konstantin Svist December 03, 2009 03:44AM

Re: memcached status

Igor Sysoev December 03, 2009 03:48AM

Re: memcached status

Konstantin Svist December 03, 2009 03:58AM

Re: memcached status

Igor Sysoev December 03, 2009 04:00AM

Re: memcached status

Konstantin Svist December 03, 2009 04:26AM

Re: memcached status

Alex Vorona December 03, 2009 04:28AM

Re: memcached status

Igor Sysoev December 03, 2009 04:32AM

Re: memcached status

el July 22, 2011 08:44AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 229
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready