Итак, я сейчас пытаюсь понять, какая конфигурация является хорошей идеей для прокси-сервера nginx. Я немного застрял на следующих двух вариантах:
proxy_set_header Host $ host;
proxy_redirect default ;
(в любом случае это значение по умолчанию и, следовательно, лишнее) Если я правильно понимаю, то они оба, похоже, преследуют одну и ту же цель: обеспечение правильной работы перенаправления. Установка переменной заголовка Host
на $ host
(это имя сервера nginx, а по умолчанию ( $ proxy_host
) - имя прокси-сервера) гарантирует, что прокси-сервер «видит себя как $ host
"и таким образом связывает пути типа / some / sub / path
к ресурсам в $ host / some / sub / path
вместо $ proxy_host / some / sub / path
.
Но, похоже, для этого и предназначен proxy_redirect
. Поэтому я не уверен, что с этим делать. Возможно, я не совсем понимаю эти параметры совершенно правильные.
Роль заголовка Host
заключается в том, чтобы сервер восходящего потока выбрал правильный виртуальный хост для обслуживания сайта. Кроме того, приложение использует его для определения того, что посетитель подключается к правильному домену.
Заголовок proxy_redirect
используется для изменения полей Location
/ Refresh
в ответах, которые восходящий сервер посылает посетителям.
Таким образом, эти две функции дополняют друг друга. Заголовок Host
используется для маршрутизации запроса, а proxy_redirect
- для изменения ответа.