proxy if cookie + map
sejo412
nginx-forum at nginx.us
Thu Aug 28 14:36:36 UTC 2014
Спасибо, решение уже где-то рядом )
На боевом сервере за все отвечает php-скрипт.
Сделал так:
location / {
if ($http_cookie ~ 'newsitetest') {
rewrite ^ /newsite/$uri last;
}
rewrite / /not_found.php?query_uri=/&$args;
}
location ~* ^/(.+)$ {
if ($http_cookie ~ 'newsitetest') {
rewrite ^ /newsite/$uri last;
}
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;
fastcgi_param QWERTY $document_root$fastcgi_script_name;
}
location /newsite/ {
proxy_pass http://192.168.2.146;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
}
После установки куки браузер выдает 500 ошибку, в логах nginx (который
проксирует) ругань на циклический редирект
2014/08/28 18:21:51 [error] 19193#0: *454 rewrite or internal redirection
cycle while processing
"/newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//newsite//not_found.php"
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252921,252930#msg-252930
Подробная информация о списке рассылки nginx-ru