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