resolver cname ttl
    Maxim Dounin 
    mdounin at mdounin.ru
       
    Wed Apr  3 10:42:44 UTC 2013
    
    
  
Hello!
On Wed, Apr 03, 2013 at 11:25:55AM +0400, Xek PL wrote:
> Привет всем!
> 
> Такая проблема: resolver не учитывает TTL для CNAME записей.
> 
> Например,в DNS указано:
> upstream 60 CNAME cname1
> cname1  86400 A 10.10.10.10
> 
> По тестам получается, что upstream резолвится раз в сутки.
> Хотя должен раз в 60 сек.
> 
> Протестировал на версиях 1.2.7, 1.3.15
> Баг? 
> Или есть какие-то соображения для такой работы?
Во встроенном резолвере не очень хорошо сделана обработка 
нескольких записей в одном DNS-ответе, и в частности в 
вышеописанном случае, если обе записи приходят вместе - то CNAME 
будет "пропущен", и кеш resolver'а попадёт сразу адрес, с ttl 
86400.
Простой workaround - использовать
    resolver ... valid=30s;
См. http://nginx.org/r/resolver.
Если не лень - было бы полезно нарисовать тикет в trac'е, 
http://trac.nginx.org.  Если проблема очень болит и мешает 
ходить - приходите на http://nginx.com, договоримся.
-- 
Maxim Dounin
http://nginx.org/en/donation.html
    
    
Подробная информация о списке рассылки nginx-ru