Re: Проксирование по referrer

2013-06-23 Пенетрантность Илья Шипицин
как-то так можно попробовать вытащить

map $http_referer $backend {
  default -;
  ~*(?b[^\;]+)(?:\;|$) $b;
}


это решит грабли No.1, но задача в целом выглядит весьма запутанной.


21 июня 2013 г., 16:45 пользователь ad...@sysadmins.el.kg
ad...@sysadmins.el.kg написал:
 Доброго всем дня.

 Пытаюсь поднять сервер для проксирования некоего узкоспециализированого
 приложения.  Аппликуха у себя формирует ссылки на него, с указанием в
 качестве реферала ссылку на один из серверов за ним.
 Т.е. в теории это должно выглядеть сл. образом - посетитель жмет на сайте
 ссылку ведущую на site.tld, прокси на этом самом site.tld разобрав
 $http_referrer извлекает из него ссылку к site[1-9].tld дописывает ему в
 куку адрес нужного из этих самых site[1-9].tld и отправляет на
 соответствующий сервер. Ну а дальнейшие обращения уже на основе кук.

 Грабли No.1: - предполагал указать адрес прокси в виде переменной:

 if ($http_referer ~* *\.*) {
 set $backend извлеченный из реферала домен;
 }
 location / {
 proxy_pass http://$backend;
 ...
 Только как?

 Грабли No.2: то же что и Грабли1 только с куками.

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

Re: ограничение скорости

2013-06-23 Пенетрантность muhas
503 отдавать? Мне надо скорость ограничить, а не посетителей что не влазят
выгонять...

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,240203,240290#msg-240290

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

Re: ограничение скорости

2013-06-23 Пенетрантность Vadim Lazovskiy
Здравствуйте.

Думаю, стоит взглянуть: http://mdounin.ru/hg/ngx_http_ip_tos_filter_module/
Трафик далее зашейпить.


24 июня 2013 г., 1:06 пользователь muhas nginx-fo...@nginx.us написал:

 503 отдавать? Мне надо скорость ограничить, а не посетителей что не влазят
 выгонять...

 Posted at Nginx Forum:
 http://forum.nginx.org/read.php?21,240203,240290#msg-240290

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




-- 
Best Regards,
Vadim Lazovskiy
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Проксирование по referrer

2013-06-23 Пенетрантность ad...@sysadmins.el.kg
Да, согласен, задача весьма нетривиальная. Оттого и прошу помощи. 
Предложеный вариант с использованием map не подходит потому, что map 
работает в блоке http, мне же критично запускать его из server.


 Вкратце о приложении - веб-страница, хрянящаяся на site[1-9].tld и 
загружаемая на сторонние сайты посредством iframe.../iframe.  На 
каждом бэкенде она разная, количество бэкендов растет в геометрической 
прогресии, а некоторые сайты, внедряющие к себе это приложение (напр. 
facebook) требуют ssl-шифрование. Чтобы избежать каши с 
ssl-сертификацией всех бэкендов было сочтено целесообразным 
использование прокси, шифрующего соединения, и проксирующего на 
http-бэкенды.



как-то так можно попробовать вытащить

map $http_referer $backend {
   default -;
   ~*(?b[^\;]+)(?:\;|$) $b;
}


это решит грабли No.1, но задача в целом выглядит весьма запутанной.


21 июня 2013 г., 16:45 пользователь ad...@sysadmins.el.kg
ad...@sysadmins.el.kg написал:

Доброго всем дня.

Пытаюсь поднять сервер для проксирования некоего узкоспециализированого
приложения.  Аппликуха у себя формирует ссылки на него, с указанием в
качестве реферала ссылку на один из серверов за ним.
Т.е. в теории это должно выглядеть сл. образом - посетитель жмет на сайте
ссылку ведущую на site.tld, прокси на этом самом site.tld разобрав
$http_referrer извлекает из него ссылку к site[1-9].tld дописывает ему в
куку адрес нужного из этих самых site[1-9].tld и отправляет на
соответствующий сервер. Ну а дальнейшие обращения уже на основе кук.

Грабли No.1: - предполагал указать адрес прокси в виде переменной:

if ($http_referer ~* *\.*) {
set $backend извлеченный из реферала домен;
}
location / {
 proxy_pass http://$backend;
...
Только как?

Грабли No.2: то же что и Грабли1 только с куками.

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

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


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

Re: Проксирование по referrer

2013-06-23 Пенетрантность Vadim Lazovskiy
Здравствуйте.

Блок map только декларируется на уровне http. Вычисление значения
переменной происходит только при обращении к ней.


24 июня 2013 г., 8:38 пользователь ad...@sysadmins.el.kg 
ad...@sysadmins.el.kg написал:

 Да, согласен, задача весьма нетривиальная. Оттого и прошу помощи.
 Предложеный вариант с использованием map не подходит потому, что map
 работает в блоке http, мне же критично запускать его из server.

  Вкратце о приложении - веб-страница, хрянящаяся на site[1-9].tld и
 загружаемая на сторонние сайты посредством iframe.../iframe.  На каждом
 бэкенде она разная, количество бэкендов растет в геометрической прогресии,
 а некоторые сайты, внедряющие к себе это приложение (напр. facebook)
 требуют ssl-шифрование. Чтобы избежать каши с ssl-сертификацией всех
 бэкендов было сочтено целесообразным использование прокси, шифрующего
 соединения, и проксирующего на http-бэкенды.


  как-то так можно попробовать вытащить

 map $http_referer $backend {
default -;
~*(?b[^\;]+)(?:\;|$) $b;
 }


 это решит грабли No.1, но задача в целом выглядит весьма запутанной.


 21 июня 2013 г., 16:45 пользователь ad...@sysadmins.el.kg
 ad...@sysadmins.el.kg написал:

 Доброго всем дня.

 Пытаюсь поднять сервер для проксирования некоего узкоспециализированого
 приложения.  Аппликуха у себя формирует ссылки на него, с указанием в
 качестве реферала ссылку на один из серверов за ним.
 Т.е. в теории это должно выглядеть сл. образом - посетитель жмет на сайте
 ссылку ведущую на site.tld, прокси на этом самом site.tld разобрав
 $http_referrer извлекает из него ссылку к site[1-9].tld дописывает ему в
 куку адрес нужного из этих самых site[1-9].tld и отправляет на
 соответствующий сервер. Ну а дальнейшие обращения уже на основе кук.

 Грабли No.1: - предполагал указать адрес прокси в виде переменной:

 if ($http_referer ~* *\.*) {
 set $backend извлеченный из реферала домен;
 }
 location / {
  proxy_pass http://$backend;
 ...
 Только как?

 Грабли No.2: то же что и Грабли1 только с куками.

 __**_
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru

 __**_
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru


 __**_
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best Regards,
Vadim Lazovskiy
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru