ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: передать хидер от между бэкендами


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: передать хидер от между бэкендами
  • From: Kruglov Eugenie <ekruglov@xxxxxxxxx>
  • Date: Wed, 13 Jan 2010 18:03:06 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:content-type; bh=LDS44zoMxJzgLVVYcDbYXUNd/LwbfRasmWKYiNIGeIA=; b=UOpY1K0YGFUDVp/T+QaI2vvHJHOeLkqINBwrQKSNWm/mhBmAhAbZwhKXIbY/7nY3D2 LoEaCt/6l/BRIhbd55ZYBcBc41B4+QrCdAQm6EkDPLKWX0Q2kksZ10AX/hmld5dPb6Pq UVyBSEexOGYe9wCAjsr/S0/UdneoXtHl4kud0=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=B24tb99vOWhTfOWccfHUxj3zxdiA/70qFTE4OMK9Y5B6I+j/YOcGtpHExn5jXQwKSm SqayGzOx/e9m4W/kXQTQ91xl0NCY38rAbfriMduX90Ac4xBdHo4SxhZpYhRotEtqycX/ 4mFX+WivaGLNEV2eKeJlzrDU/U7a9DLzaQiRw=
  • In-reply-to: <51bcd1531001130616k40b95d5fh310426bb5a73ae1a@xxxxxxxxxxxxxx>
  • References: <51bcd1531001130616k40b95d5fh310426bb5a73ae1a@xxxxxxxxxxxxxx>

X-Accel-Redirect если есть возможность править код бекенда
http://kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/

2010/1/13 Костенко Евгений <nobody.mail@xxxxxxxxx>
Добрый день.

FreeBSD somehost.tld 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30 UTC 2007     root@xxxxxxxxxxxxxxxxxxxxxxx:/usr/obj/usr/src/sys/SMP  i386

nginx version: nginx/0.7.64
TLS SNI support enabled
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-google_perftools_module --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-log-path=/var/log/nginx-access.log --with-http_gzip_static_module --with-http_image_filter_module --with-http_perl_module --with-http_realip_module --with-http_secure_link_module --with-http_ssl_module --with-http_stub_status_module --with-http_xslt_module --with-pcre

Возможно хочется странного, но есть потребность реализовать следующее:

Запрос клиента уходит на back1, где при 404 по error_page уходит в именованный location.
Необходимо сделать rewrite uri на основе хидера, выданного back1.
Мои попытки свелись к 500й ошибке с сообщением "the rewritten URI has a zero length while sending to client".

Вопрос - как подставить хидер, выданный back1 в конструкцию rewrite? Если это вообще реально соорудить 8)

      location / {
            proxy_pass         http://back1;

            proxy_intercept_errors on;
            recursive_error_pages on;

            error_page 404 = @fetch;
            <skipped>
        }

      location @fetch {

            proxy_pass         http://back2;
            proxy_redirect     off;
            proxy_intercept_errors on;
            recursive_error_pages on;

            rewrite ^(.*)$  $SomeHeaderFromBack1 break;

            proxy_set_header   Host             backstore.nodevice.com;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            <skipped>
        }


--
С Уважением,
Костенко Евгений

моб: +7(928)2961142
icq: 101241013
jabber: nobody.mail@xxxxxxxxx


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru




--
Faithfully yours, Eugenie
ICQ #701217
GTalk ekruglov@xxxxxxxxx
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.