<div dir="ltr">Здравствуйте.<div><br></div><div style>Блок map только декларируется на уровне http. Вычисление значения переменной происходит только при обращении к ней.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
24 июня 2013 г., 8:38 пользователь <a href="mailto:admin@sysadmins.el.kg">admin@sysadmins.el.kg</a> <span dir="ltr"><<a href="mailto:admin@sysadmins.el.kg" target="_blank">admin@sysadmins.el.kg</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Да, согласен, задача весьма нетривиальная. Оттого и прошу помощи. Предложеный вариант с использованием map не подходит потому, что map работает в блоке http, мне же критично запускать его из server.<br>
<br>
Вкратце о приложении - веб-страница, хрянящаяся на site[1-9].tld и загружаемая на сторонние сайты посредством <iframe>...</iframe>. На каждом бэкенде она разная, количество бэкендов растет в геометрической прогресии, а некоторые сайты, внедряющие к себе это приложение (напр. facebook) требуют ssl-шифрование. Чтобы избежать каши с ssl-сертификацией всех бэкендов было сочтено целесообразным использование прокси, шифрующего соединения, и проксирующего на http-бэкенды.<div class="HOEnZb">
<div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
как-то так можно попробовать вытащить<br>
<br>
map $http_referer $backend {<br>
default -;<br>
~*(?<b>[^\;]+)(?:\;|$) $b;<br>
}<br>
<br>
<br>
это решит "грабли No.1", но задача в целом выглядит весьма запутанной.<br>
<br>
<br>
21 июня 2013 г., 16:45 пользователь <a href="mailto:admin@sysadmins.el.kg" target="_blank">admin@sysadmins.el.kg</a><br>
<<a href="mailto:admin@sysadmins.el.kg" target="_blank">admin@sysadmins.el.kg</a>> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Доброго всем дня.<br>
<br>
Пытаюсь поднять сервер для проксирования некоего узкоспециализированого<br>
приложения. Аппликуха у себя формирует ссылки на него, с указанием в<br>
качестве реферала ссылку на один из серверов за ним.<br>
Т.е. в теории это должно выглядеть сл. образом - посетитель жмет на сайте<br>
ссылку ведущую на site.tld, прокси на этом самом site.tld разобрав<br>
$http_referrer извлекает из него ссылку к site[1-9].tld дописывает ему в<br>
куку адрес нужного из этих самых site[1-9].tld и отправляет на<br>
соответствующий сервер. Ну а дальнейшие обращения уже на основе кук.<br>
<br>
Грабли No.1: - предполагал указать адрес прокси в виде переменной:<br>
<br>
if ($http_referer ~* "*\.*") {<br>
set $backend "извлеченный из реферала домен";<br>
}<br>
location / {<br>
proxy_pass http://$backend;<br>
...<br>
Только как?<br>
<br>
Грабли No.2: то же что и Грабли1 только с куками.<br>
<br>
______________________________<u></u>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/<u></u>mailman/listinfo/nginx-ru</a><br>
</blockquote>
______________________________<u></u>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/<u></u>mailman/listinfo/nginx-ru</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/<u></u>mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">
Best Regards,<br><div>Vadim Lazovskiy</div></div>
</div>