Welcome! Log In Create A New Profile

Advanced

Re: Как получить тело ответа в переменной?

Вадим Лазовский
February 24, 2011 03:30AM
24.02.2011 10:33, Виталий Беленький пишет:
> === Контекст ===
> Есть сервис А который содержит некий контент на которй хотят ссылаться многие сайты. Есть много сервисов X которые являются нашими проектами.
>
> Задача: если пользователь ссылается на ресурс А с множесва ресурсов X, то ему показывается просто контент, в противном случае контент с рекламой.
>
>
> Ресурсы X наши и не представляет большой трудности их модификация.
>
> Хочу сделать следующее ресурс X пишет $remote_addr пользователя в memcached с expire 20 минут. Ресурс A смотрит есть ли $remote_addr пользователя в базе memcached, и если есть то показывает ресурс без рекламы.
>
> Реализация: Вообще это дело можно и на уровне приложения делать, но вот хочется на уровне nginx. Итак: при помощи модуля memc читаем memcached, далее делаем proxy_pass(или rewrite) с параметром или без в зависимости от результата.
>
>
> Конфигурация
>
> location /checkip {
> default_type text/plain;
>
> if ($arg_ip = "") {
> echo "please give me ip as parameter";
> break;
> }
>
> set $memc_cmd 'get';
> set $memc_key $arg_ip;
> memc_pass 192.168.197.4:11211;
> }
>
>
> location /checkme {
> default_type text/html;
> # proxy_pass http://192.168.197.4:8888/checkip/?ip=192.168.197.1;
> echo_subrequest_async GET /checkip/ -q 'ip=$remote_addr';
>
> #echo "=====";
> #echo $http_content;
> #echo "=====";
> #break;
>
> if ($remote_addr = $http_content) {
> proxy_pass http://192.168.197.4:8888/checkme/?show_adv=1;
>
> echo "You are blocked";
> break;
> }
>
> proxy_pass http://192.168.197.4:8888/checkme/;
> }
>
>
>
> А теперь собственно вопрос: memc возвращает значение ключа(/check_ip) в теле ответа. Как получить доступ к телу ответа?
>
>
Здравствуйте.

http://www.grid.net.ru/nginx/eval.ru.html

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

Как получить тело ответа в переменной?

Виталий Беленький February 24, 2011 02:36AM

Re: Как получить тело ответа в переменной?

Вадим Лазовский February 24, 2011 03:30AM

Re: Как получить тело ответа в переменной?

Kirill A. Korinskiy February 24, 2011 06:08AM

Re: Как получить тело ответа в переменной?

Виталий Беленький February 24, 2011 04:20PM

Re: Как получить тело ответа в переменной?

Виталий Беленький February 25, 2011 04:50PM

Re: Как получить тело ответа в переменной?

Александр Лыткин February 24, 2011 04:30AM

Re: Как получить тело ответа в переменной?

Valery Kholodkov February 24, 2011 06:44AM

Re: Как получить тело ответа в переменной?

Kirill A. Korinskiy February 24, 2011 04:46PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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