Понадобилось проксировать ресурс не имеющий статического адреса. Нет проблем, меняем конфиг, перезагружаем nginx:

 
    location / {
        proxy_pass http://dynamic.service.tld;
    }

Проходит время, ip-адрес проксируемого ресурса изменяется, а nginx продолжает долбиться на старый. Нет проблем, ищем решение, меняем конфиг, перезагружаем nginx:

 
    location / {
        resolver 10.10.10.10 valid=30s;
        proxy_pass http://dynamic.service.tld;
    }

Проходит время, ip-адрес проксирумого ресурса изменяется, а nginx… Всё верно – продолжает долбиться на старый адрес. Проблема всё-таки есть!

ВНЕЗАПНО для того чтобы поведение стало ожидаемым адрес проксируемого сервиса должен содержать переменные…, к примеру так:

 
    location / {
        resolver 10.10.10.10 valid=30s;
        set $dynamic dynamic.service.tld;
        proxy_pass http://$dynamic;
    }

Да, #ИнвалидацияКеша по-прежнему проблема…

Nginx. Проксирование ресурса с динамическим адресом.
Tagged on:     

Leave a Reply