LINUX.ORG.RU

Проксирование запроса на другой хост в nginx

 


0

1

Возникла следующая проблема. Начальство попросило, чтобы по заданному URL отображалась страница с другого домена. Всё выглядит просто и легко, но! У того другого домена периодически меняется IP-адрес. Я изначально сделал в лоб:

location = /<mypath> {
    proxy_pass http://externalhost/path;
}

Но когда этот внешний хост меняет IP адрес, то всё разваливается. Посоветуйте пути решения в данной ситуации.

★★

Дабы не подумали, что я делаю что-то противозаконное: но том домене шеф нагенерил лендинг.

Hater ★★
() автор топика

Если ты обращаешься по hostname и сменился ip в dns, то только ждать пока устареет кэш. Если он использует какой нибудь динамический dns то пусть поставит время устаревания пять минут.

sin_a ★★★★★
()

Включи еще proxy_cache и proxy_cache_use_stale timeout чтобы когда меняется ип отдавало кэш. Если там конечно не уникальная страница на каждый запрос генерируется и кеширование возможно.

hidden_4003
()
Ответ на: комментарий от sin_a

Так в том и прикол, на DNS сервере давно поменялся, nginx не замечает это. Помогает только рестарт веб-сервера.

Hater ★★
() автор топика
Ответ на: комментарий от hidden_4003

Ну просто теоретически страница может в какой-то момент поменяться. Т.е. это не решит проблему, см коммент выше, кажется что nginx навсегда запоминает связь хост<-->ip.

Hater ★★
() автор топика
Ответ на: комментарий от disarmer

Здесь пишут, что resolver работает только с переменными, но всё равно спасибо за наводку, попробую как по моей ссылке:

resolver 127.0.0.1;
set $backend "foo.example.com";
proxy_pass http://$backend;

Hater ★★
() автор топика
Ответ на: комментарий от Hater

Основная проблема все же в настройках DNS как и писал sin_a некорректно настроен TTL. Остальное это уже борьба с последствиями.

hidden_4003
()
Ответ на: комментарий от maloi

Можно поставить резолвером тот сервер, который гарантированно знает о смене ip

disarmer ★★★
()

чтобы по заданному URL отображалась страница с другого домена

А кто мешает отдавать редирект?

router ★★★★★
()
Ответ на: комментарий от router

Эта страничка отображается в мобильном приложении. И по какой-то неведомой мне причине редирект на ифоне очень сильно тупит (около минуты).

Hater ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.