Welcome! Log In Create A New Profile

Advanced

proxy_redirect & $vars

Alex L. Demidov
November 09, 2010 06:44AM
Есть nginx front-end, который слушает на всех хостах вида
^[0-9]+.example.com и делает proxy_pass на 127.0.0.0 и порт
соответствующий поддомену example.com, например, при обращении к
12345.example.com идет proxy_pass к 127.0.0.1:12345. На 127.0.0.1
могут слушать сотни и тысячи портов, которые на самом деле
туннелятся на внешние железки, отвечающие по http, причем эти
туннели могут динамически появляться и пропадать.

Проблема собственно в том, что одна из этих железок выдает 302
Redirect, которые нужно переписать, но proxy_redirect не понимает
переменные в первом параметре, как в примере ниже, где
закомментировано:

-----------------------------------------------------------------------

http {
perl_set $decoded_port '...
perl code to extract prefix from Host: header
...';

server {
listen 80;
server_name ~^[0-9]+\.example\.com;

location / {
proxy_pass http://127.0.0.1:$decoded_port;

# proxy_redirect http://127.0.0.1:$decoded_port/ \
# http://$decoded_port.example.com/;
proxy_redirect http://127.0.0.1:12345/ \
http://$decoded_port.example.com/;
}
}
}
-----------------------------------------------------------------------

Вопросы:

Есть ли какие-либо варианты переписать Redirect в данной ситуации?

Если нагенерировать 64K строчек со всеми портами - не упрусь ли я в
какие-либо ограничения?

Возможно ли отпатчить сам nginx чтобы он понимал $vars в
первом параметре proxy_redirect и нет ли каких-то принципиальных
ограничений для этого?

Правильно ли я понимаю, что патчить надо функцию
ngx_http_proxy_rewrite_redirect_vars в файле
src/http/modules/ngx_http_proxy_module.c ?

--
Alex L. Demidov (ALD9-RIPE).
http://alexeydemidov.com/
Freelance Consulting.

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

proxy_redirect & $vars

Alex L. Demidov November 09, 2010 06:44AM

Re: proxy_redirect & $vars

Maxim Dounin November 09, 2010 07:40AM

Re: proxy_redirect & $vars

Alex Vorona November 09, 2010 08:12AM

Re: proxy_redirect & $vars

Maxim Dounin November 09, 2010 03:30PM

Re: proxy_redirect & $vars

Igor Sysoev November 10, 2010 09:56AM

Re: proxy_redirect & $vars

Maxim Dounin November 10, 2010 12:20PM

Re: proxy_redirect & $vars

col February 16, 2011 07:38PM

Re: proxy_redirect & $vars

Alex L. Demidov November 15, 2010 07:14AM

Re: proxy_redirect & $vars

Daniel Podolsky November 14, 2011 03:12PM

Re: proxy_redirect & $vars

Maxim Dounin November 15, 2011 07:52PM

Re: proxy_redirect & $vars

Daniel Podolsky November 16, 2011 06:04AM

Re: proxy_redirect & $vars

Валентин Бартенев November 30, 2011 11:48AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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