передать хидер от между бэкендами
Костенко Евгений
nobody.mail на gmail.com
Ср Янв 13 17:16:10 MSK 2010
Добрый день.
FreeBSD somehost.tld 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30
UTC 2007 root at dessler.cse.buffalo.edu:/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 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100113/953924f6/attachment.html>
Подробная информация о списке рассылки nginx-ru