В линуксе есть какой-то прикол с резолвом .local доменов. Гляньте на 
/etc/nsswitch.conf. Там определяется очередность служб для резолва адресов. Для 
.local оно как-то отдельно идет.

Отправлено с iPhone

> 22 янв. 2019 г., в 09:29, Dmitriy Lyalyuev <dmit...@lyalyuev.info> написал(а):
> 
> Если коротко, то - 
> 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
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить