Все же понимают, что отсутствующий server_name - это просто способ
"упрощения" минимально необходимого конфига и на самом деле имя сервера все
равно присутствует (дефолтное значение - пустая строка). Что именно попадет
в этом случае в SERVER_NAME - не совсем понятно. Но исходя из всей
вышеописанной логики - туда должна попасть пустая строка.
пн, 13 мар. 2023 г. в 14:09, Илья Шипицин <chipitsine@gmail.com>:
> и да и нет.
> в конфиге сервера, приведенным топикстартером server_name отсутствует, а
> запрос смаршрутизировался, потому что указан default_server в listen.
>
> а как интерпретировать MUST в случае отсутствующего server_name RFC не
> говорит ))
>
> пн, 13 мар. 2023 г. в 11:53, Maksim Kulik <kulmaks@gmail.com>:
>
>> В 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
>>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> https://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx-ru
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru