Welcome! Log In Create A New Profile

Advanced

proxy if cookie + map

Синицкий Павел Евгеньевич
August 28, 2014 07:44AM
Добрый день,

Ситуация следующая: имеется боевой сервер в связке nginx + php-fpm + новая
версия сайта на соседнем сервере, на котором тоже крутится nginx и php-fpm.
Задача такова: на боевом сервере настроить проксирование на новую версию
сайта в зависимости от установленной у посетителя куки.

Сложность в том, что в блок if нельзя завернуть proxy_set_header - на
форумах советуют для этих целей использовать map с сопутствующей ссылкой на
http://nginx.org/ru/docs/http/ngx_http_map_module.html. Никак не могу
понять, как обойтись без if, а только map в моем случае?

Другими словами, конструкция ниже работает только для внутренней сети (в
логах браузера идет подгрузка с ip 192.168.2.146).

server {
...
if ($http_cookie ~ 'newsitetest') {
set $newsite 1;
}
...
location ~* ^/(.+)$ {

if ($newsite = 1) {
proxy_pass http://192.168.2.146;
break;
}
try_files $uri $uri/ /not_found.php?query_uri=/$1&$args;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.html;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
}
}

--

С уважением
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

proxy if cookie + map

Синицкий Павел Евгеньевич August 28, 2014 07:44AM

Re: proxy if cookie + map

Илья Шипицин August 28, 2014 08:40AM

Re: proxy if cookie + map

sejo412 August 28, 2014 10:01AM

Re: proxy if cookie + map

Валентин Бартенев August 28, 2014 08:42AM

Re: proxy if cookie + map

sejo412 August 28, 2014 10:36AM

Re: proxy if cookie + map

Валентин Бартенев August 28, 2014 12:28PM

Re: proxy if cookie + map

sejo412 August 29, 2014 08:56AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 220
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