[proposal] SERVER_NAME в fastcgi_params
Maxim Dounin
mdounin на mdounin.ru
Пн Мар 6 22:51:53 UTC 2023
Hello!
On Mon, Mar 06, 2023 at 02:22:25PM +0300, Andrey Kopeyko wrote:
> On Mon, 6 Mar 2023, Nikolay Shaplov wrote:
>
> > В письме от понедельник, 6 марта 2023 г. 13:59:30 MSK пользователь Andrey
> > Kopeyko написал:
> >> к "нарушению RFC" приводит ваша конкретная конфигурация - когда вы
> >> обрабатываете множество имён в дефолтном сервере, для которого вы _не
> >> задаёте_ server_name.
> >>
> >> Вот корень всех бед.
> >>
> >> И именно поэтому дефолтное поведение менять не следует.
> >
> > Я бы с этим всем согласился, приняв на веру, если бы в RFC не было бы
> > написано:
> >
> > The SERVER_NAME variable MUST be set to the name of the server host
> > to which the client request is directed.
>
> Вот это самое правило вы и нарушаете, в описанной вами конфигурации, - но раз
> вам так надо и вы понимаете что вы делаете, то пускай.
>
> Обходной хак вам подсказали - использовать $http_host, и быть готовым что там
> тоже может быть пусто.
Я скромно замечу, что использовать переменную $http_host для чего
либо, кроме проверки собственно заголовка Host - не стоит.
Этот заголовок может отсутствовать вообще или не совпадать с тем
хостом, которому обращался клиент. Конфигурация с $http_host -
это почти всегда как минимум глюки в краевых случаях, а как
максимум - "дыра в безопасности".
Как уже было верно отмечено в этом треде, если нужна переменная,
отражающая запрошенный клиентом хост, то следует использовать
переменную $host.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru