Maxim Dounin
March 06, 2023 07:24PM
Hello!

On Mon, Mar 06, 2023 at 05:17:34PM +0300, Evgeniy Berdnikov wrote:

> On Mon, Mar 06, 2023 at 02:22:25PM +0300, Andrey Kopeyko wrote:
> > On Mon, 6 Mar 2023, Nikolay Shaplov wrote:
> > > Я бы с этим всем согласился, приняв на веру, если бы в RFC не было бы
> > > написано:
> > >
> > > The SERVER_NAME variable MUST be set to the name of the server host
> > > to which the client request is directed.
> >
> > Вот это самое правило вы и нарушаете, в описанной вами конфигурации, - но
> > раз вам так надо и вы понимаете что вы делаете, то пускай.
>
> Товарищ, наверное, хотел сказать, что составитель дефолтной конфигурации
> не заметил некоторые проблемы, с которыми могут столнуться пользователи.
> И что если вместо $server_name написать $host, то вероятность возникновения
> этих проблем будет несколько ниже. С чем трудно не согласиться.
>
> Как всегда, ждём, какие аргументы придумают авторы, чтобы ничего не менять. :)

Да вообще легко :))

Дефолтная конфигурация, по историческим причинам, заточена на
конфигурации, где server_name задан: это было поведением по
умолчанию до nginx версии 0.8.48.

Подобная конфигурация в целом предполагает, что запрашиваемое
клиентом имя может использовать для выбора блока server{}, но в
дальнейшем не используется: для всех остальных действий
используется каноническое имя сервера. Например, все
перенаправления возвращаются с использованием канонического имени
сервера (см. server_name_in_redirect).

Очевидно, что в подобной конфигурации SERVER_NAME, передаваемый в
CGI-like бэкенды, тоже должен отражать каноническое имя сервера,
то есть $server_name. Замена его на $host приведёт к
использованию в CGI-like бэкендах некорректного имени,
использование которого не предполагается конфигурацией. Более
того, если речь идёт про сервер по умолчанию для данного
слушающего сокета - то имя окажется полностью под контролем
клиента, что может привести уже к проблемам безопасности, если на
бэкенде что-либо завязано на проверку этого имени.

Суммируя вышеизложенное: замена $server_name на $host
гарантировано сломает конфигурации, полагающиеся на существующее
поведение с передачей на CGI-like бэкенды канонического имени
сервера, и для корректной работы таких конфигураций потребуется
менять $host на $server_name обратно.

Какие конфигурации приоритетнее - сложно сказать, но лично я бы
рекомендовал указывать server_name всегда, а не полагаться на то,
что nginx сможет обрабатывать любые имена. Именно так, в
частности, делает и конфигурация по умолчанию - там server_name
явно указан.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

[proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 05, 2023 10:42AM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 05, 2023 10:50AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 05, 2023 11:00AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 05, 2023 02:06PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 01:44AM

Re: [proposal] SERVER_NAME в fastcgi_params

Andrey Kopeyko March 06, 2023 06:00AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 06:08AM

Re: [proposal] SERVER_NAME в fastcgi_params

Andrey Kopeyko March 06, 2023 06:24AM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 06, 2023 09:18AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 06, 2023 01:36PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 01:38PM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 06, 2023 01:42PM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 06, 2023 01:52PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 01:56PM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 06, 2023 03:02PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 03:14PM

Re: [proposal] SERVER_NAME в fastcgi_params

Andrey Kopeyko March 06, 2023 03:26PM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 06, 2023 05:20PM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 06, 2023 07:24PM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 06, 2023 05:54PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 10:18AM

Re: [proposal] SERVER_NAME в fastcgi_params

Dmitry Ivanov March 13, 2023 02:18AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 02:22AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 13, 2023 03:28AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 03:34AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 03:48AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 03:52AM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 13, 2023 04:38AM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 13, 2023 04:52AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 13, 2023 04:58AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 05:10AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 13, 2023 05:42AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 06:14AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 06:18AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 06:22AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 06:28AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 13, 2023 06:52AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 06:54AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 13, 2023 07:10AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 07:20AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 13, 2023 04:28AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 293
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready