Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Копирование запрос ов
On Fri, Feb 15, 2008 at 03:07:44PM +0300, Igor Sysoev wrote:
> On Fri, Feb 15, 2008 at 12:38:09PM +0100, Alex Sergeyev wrote:
>
> > Подскажите. Хочется провести тестирование связки nginx+fastcgi под реальной
> > нагрузкой.
> > Сейчас стоит nginx+бэкэнд из нескольких апачей.
> > Каким образом организовать копирование запросов на тестовый бэкэнд так чтобы
> > ответ с него НЕ возвращался пользователю.
> >
> > То есть при обращении по адресу http://mysite.com/index.php
> > запрос передается на
> > proxy_pass http://backend.mysite.com
> >
> > и такой же запрос уходит на
> > http://test.mysite.com
>
> Можно попробовать post_action:
>
> location ~ \.php$ {
>
> set $ouri $uri;
>
> fastcgi ...
>
> post_action /post;
> }
>
> location = post {
> fastcgi ...
> fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$ouri;
> }
>
> post_action пока не поддерживает @post, поэтому призодится сохранять $uri.
С прилагаемым патчем можно делать так:
location ~ \.php$ {
fastcgi ...
post_action @post;
}
location @post {
fastcgi ...
}
--
Игорь Сысоев
http://sysoev.ru
Index: src/http/ngx_http_request.c
===================================================================
--- src/http/ngx_http_request.c (revision 1213)
+++ src/http/ngx_http_request.c (working copy)
@@ -2448,8 +2448,13 @@
r->read_event_handler = ngx_http_block_reading;
- ngx_http_internal_redirect(r, &clcf->post_action, NULL);
+ if (clcf->post_action.data[0] == '/') {
+ ngx_http_internal_redirect(r, &clcf->post_action, NULL);
+ } else {
+ ngx_http_named_location(r, &clcf->post_action);
+ }
+
return NGX_OK;
}
|