и да и нет. в конфиге сервера, приведенным топикстартером server_name отсутствует, а запрос смаршрутизировался, потому что указан default_server в listen.
а как интерпретировать MUST в случае отсутствующего server_name RFC не говорит )) пн, 13 мар. 2023 г. в 11:53, Maksim Kulik <kulm...@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, Илья Шипицин <chipits...@gmail.com>: > >> >> >> пн, 13 мар. 2023 г. в 11:12, Nikolay Shaplov <dh...@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