Welcome! Log In Create A New Profile

Advanced

Re: RSS вьювер - как сконфигурировать nginx ?

Михаил Монашёв
January 14, 2010 11:54AM
Здравствуйте, Илья.

Thursday, January 14, 2010, 6:36:21 PM, Вы писали:


ИВ> Здравствуйте, коллеги !

ИВ> Столкнулся с проблемой, для решения которой не могу сконфигурировать nginx :(
ИВ> Помогите пожалуйста :)

ИВ> Всем хорошо известны RSS фиды.
ИВ> Я хочу сделать веб сервис, который будет при запросе
ИВ> скачивать RSS канал и выводить на Веб страницу его содержимое.
ИВ> (Проблема мною выдумана, но принцип очень похож).

ИВ> Решение "в лоб" - прогуляться к бекенду, который скачает канал и выведет результат.
ИВ> Решение плохое, потому что есть такие каналы, которые
ИВ> выдаются по несколько секунд. Сколько секунд канал отдает свой
ИВ> контент - столько секунд бекенд будет занят... а бекенды у нас в
ИВ> дефиците.

ИВ> Решение "в обход":
ИВ> nginx умеет сторить данные в указанную директорию [
ИВ> proxy_store ]. Как бы так отконфигурировать nginx, чтобы он полез
ИВ> за RSS каналом на другой край земного шара, засторил его в свою
ИВ> директорию, а потом дергнул бы бекенд, передав ссылку, по которой
ИВ> бекенд может очень быстро скачать информацию ?

ИВ> На ум приходит модуль eval, но у него есть ряд недостатков -
ИВ> контент сторится в переменные, на которые в nginx суровые
ИВ> ограничения...

Я вот так скачиваю и сохраняю фавиконки с других сайтов:

proxy_cache_path /opt1/favicons levels=1:1 keys_zone=favicons:50m inactive=3d max_size=5G;

server {
listen 1.2.3.4:80;
server_name site.ru;

proxy_intercept_errors on;
error_page 301 302 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 422 423 424 425 426 449 500 501 502 503 504 505 506 507 509 510 = /zero;

proxy_cache favicons;
proxy_cache_key $proxy_host;
proxy_temp_path /opt1/favicons/proxy_tmp_path;
proxy_cache_valid any 30d;
proxy_ignore_headers X-Accel-Redirect X-Accel-Expires Expires Cache-Control;

proxy_hide_header Location;

expires 30d;

location / {
return 204;
}

location = /zero {
return 204;
}

# aa.ru
location ~ "^/([a-z0-9-]{1,50}\.[a-z]{2,4})$" {
proxy_set_header Host $1;
proxy_pass http://$1/favicon.ico;
}

# bb.aa.ru
location ~ "^/([a-z0-9-]{1,50}\.[a-z0-9-]{1,50}\.[a-z]{2,4})$" {
proxy_set_header Host $1;
proxy_pass http://$1/favicon.ico;
}

# cc.bb.aa.ru или 111.222.33.44
location ~ "^/([a-z0-9-]{1,50}\.[a-z0-9-]{1,50}\.[a-z0-9-]{1,50}\.[a-z0-9]{1,4})$" {
proxy_set_header Host $1;
proxy_pass http://$1/favicon.ico;
}

}

При запросе http://site.ru/ya.ru отдастся http://ya.ru/favicon.ico

Ты можешь сделать аналогично.


--

С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster@softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.


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

SSL [crit] errors

Denis F. Latypoff January 14, 2010 08:58AM

RSS вьювер - как сконфигурировать nginx ?

Илья Винокуров January 14, 2010 10:38AM

Re: RSS вьювер - как сконфигурировать nginx ?

Михаил Монашёв January 14, 2010 11:54AM

Re[2]: RSS вьювер - как сконфигурировать nginx ?

Илья Винокуров January 15, 2010 03:46AM

Re: Re[2]: RSS вьювер - как сконфигурировать nginx ?

SaveFrom.net January 16, 2010 04:00AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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