Re: Непонятно про valid у resolver

Ruslan Ermilov ru на nginx.com
Вт Дек 6 16:25:53 UTC 2011


On Tue, Dec 06, 2011 at 05:08:56PM +0100, Anton Vorobev wrote:
>  Здравствуйте.
>  Возникла проблема, не могу докопаться до сути. Пробую новый параметр "valid" для "resolver":
> 
>  ...
>  http {
>      resolver 111.222.333.444 valid=10s;
>      ...
>      server {
> 
>          ...
>          location / {
>              proxy_pass [1]http://backend.test:8885;
>          }
>          ...
>      }
>      ...
>  }
> 
>  При изменении DNS записи, nginx не пытается получить IP ни через интервал, установленный в valid, ни через TTL, полученный от DNS сервера.Судя по tcpdump, nginx получает IP бэкенда только при старте.
> 
>  Не могу понять в чём дело, сломал всю голобу. Удалось добраться только до того, что u->resolved == NULL в ngx_http_upstream_init_request().
>  Кто-нибудь уже использовал valid? Есть идеи в чём дело?

Этот resolver работает если имя upstream сервера содержит
переменные, иначе резолвинг происходит лишь на старте.
Если хочется динамичности со статическим именем, следует
имя сервера поместить в переменную, и использовать её
в качестве аргумента директивы proxy_pass.



Подробная информация о списке рассылки nginx-ru