ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: имя хоста в proxy_pass



On Tue, Mar 30, 2010 at 12:24:42PM +0400, Alexey Loskutov wrote:

> Здравствуйте,
> у меня есть такие location'ы:
>   location /youtube-gdata/feeds/api/ { proxy_pass
> http://gdata.youtube.com/feeds/api/; }
>   location /maps/ {proxy_pass http://static-maps.yandex.ru/1.x/;}
> 
> иногда nginx не запускается.
> 
> проблема вероятно в том, что, nginx при запуске пытается получить
> dns-записи для хостов gdata.youtube.com и static-maps.yandex.ru, и
> если не может этого сделать, выдает ошибку и не запускается вообще. Но
> ведь кроме этих у него еще полно других полезных локейшнов :)
> 
> Проявляется это при перезугрузке сервера, в лог ничего не пишется,
> поэтому отследить проблему сложно.
> Сервисы network и bind и запускаются раньше nginx'a.
> 
> Есть ли какое-нибудь хорошее решение такой проблемы? забивать
> ip-адреса в /etc/hosts или в конфиг не хочется.

Нужно добавить куда-нибудь в проксируемый URL переменную, тогда хосты
будут резолвиться в ран-тайме, но выглядит это криво:

http {
     resolver  127.0.0.1;

     server {

         location /youtube-gdata/feeds/api/ {
             rewrite      ^/youtube-gdata(.+)  $1  break;
             proxy_pass   http://gdata.youtube.com$uri;
         }

         location /maps/ {
             rewrite      ^/maps(.+)  /1.x$1    break;
             proxy_pass   http://static-maps.yandex.ru$uri;
         }

Хотя нужно сделать что-то вроде "proxy_resolve_host  on|off".


-- 
Игорь Сысоев
http://sysoev.ru

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


 




Copyright © Lexa Software, 1996-2009.