Если коротко, то - https://serverfault.com/questions/598202/make-nginx-to-pass-hostname-of-the-upstream-when-reverseproxying
Второй ответ в треде. Но сама схема, как по мне, выглядит костылем. Костылем и лечить. -- With best regards, Dmitriy Lyalyuev dmit...@lyalyuev.info > On Jan 22, 2019, at 08:54, CoDDoC via nginx-ru <nginx-ru@nginx.org> wrote: > > Доброе время суток! > > Тестовый сервер: test.local. В нем тестовый кластер: > upstream cdn { > server <IP_1>:<port_1>; > server <IP_2>:<port_2>; > .... > } > > или: > upstream cdn { > server cdn001.test.local:<port_1>; > server cdn002.test.local:<port_2>; > .... > } > > Не принципиально, ибо "cdn001.test.local" резолвится в <IP_1> и т.д. > > Само собой, "proxy_http_version 1.1;" и из какого-то локейшена "proxy_pass > http://cdn;" > Теперь смотрю, что приходит, например, на выбранный бэкенд. > Ожидаю там увидеть в заголовке Host значение <IP> или 'cdn###.test.local'. > Вижу: http header: "Host: cdn". Что не так? > > Входящий контроль проверяет правильность заголовка Host. > Все, что не соответствуют разрешенным, посылаются на 400. Можно, конечно, > добавить фильтрацию по белому списку, что-то типа "такой-то IP должен > прислать такой-то заголовок". Но (ИМХО) костыль. > > proxy_set_header 'Host' $upstream_addr; - бесполезно. > $upstream_addr получает значение ПОСЛЕ proxy_pass. > > Попутно вопрос о $upstream_addr. > Ее можно еще как-то использовать, кроме как в логах? Например, отправить в > php, но без костылей? > > Спасибо. > -- > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru