Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik kulmaks на gmail.com
Пн Мар 13 10:53:38 UTC 2023


В RFC на эту тему есть вполне четкое мнение:

   The SERVER_NAME variable MUST be set to the name of the server host
   to which the client request is directed.

Там должно быть имя сервера, который обслуживает этот запрос. Из
документации nginx: Первое имя становится основным именем сервера. Всё
вполне однозначно при внимательном прочтении.

пн, 13 мар. 2023 г. в 13:50, Илья Шипицин <chipitsine на gmail.com>:

>
>
> пн, 13 мар. 2023 г. в 11:12, Nikolay Shaplov <dhyan на nataraj.su>:
>
>> В письме от понедельник, 13 марта 2023 г. 12:40:14 MSK пользователь Илья
>> Шипицин написал:
>> > > A deployed server can have more than one possible value for this
>> > > variable, where several HTTP virtual hosts share the same IP address.
>> > > In that case, the server would use the contents of the request's Host
>> > > header field to select the correct virtual host.
>> > >
>> > > Мой вольный перевод "В случае если есть несколько кандидатов на
>> заполнение
>> > > переменной окружения SERVER_NAME, например несколько виртальных хостов
>> > > использует один и тот же IP-адрес, серверу следует изучить содержимое
>> > > заголовка Host пришедшего в http-запросе и использовать его значение
>> для
>> > > того
>> > > чтобы выбрать корректный virtual host"
>> >
>> > все верно. но это про другое же речь.
>> > в цитируемом фрагменте речь про то, что если у вас несколько виртуальных
>> > хостов, но выбрать правильный можно и нужно исходя из Host.
>> >
>> > но если по факту вы попали в дефолт, то выбор, описанный выше, вы уже
>> > сделали.
>>
>> хорошо, давайте совсем на примерах.
>> В конфиге написано:
>>
>> server_name h1.example.com h2.example.com h3.example.com;
>> include        fastcgi_params;
>> fastcgi_pass  unix:/var/run/my-fastcgi;
>>
>> Я браузером захожу на h2.example.com
>>
>> Что должно оказаться в SERVER_NAME для cgi-скрипта который будет отвечать
>> на
>> этот запрос?
>>
>
> процитированный Вами фрагмент RFC говорит, что, если у вас есть несколько
> блоков server { ... }, то
> выбрать надо данный конкретный, потому что в server_name у него
> присутствует h2.example.com
>
> а что писать в SERVER_NAME для cgi-скрипта - тут нет четкого мнения,
> скажем так, могут быть варианты.
>
>
>>
>> --
>> Nikolay Shaplov aka Nataraj
>> Fuzzing Engineer at Postgres Professional
>> Matrix IM: @dhyan:nataraj.su
>>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx-ru
>
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20230313/0a4ebc9e/attachment.htm>


Подробная информация о списке рассылки nginx-ru