[proposal] SERVER_NAME в fastcgi_params

Maxim Dounin mdounin на mdounin.ru
Пн Мар 13 08:27:09 UTC 2023


Hello!

On Mon, Mar 13, 2023 at 10:33:36AM +0300, Nikolay Shaplov wrote:

> В письме от понедельник, 13 марта 2023 г. 10:27:10 MSK пользователь Maxim 
> Dounin написал:
> > Hello!
> > 
> > On Mon, Mar 13, 2023 at 09:20:49AM +0300, Nikolay Shaplov wrote:
> > > В письме от понедельник, 13 марта 2023 г. 09:17:17 MSK пользователь Dmitry
> > > 
> > > Ivanov написал:
> > > > Вы писали 5 марта 2023 г., 18:41:17:
> > > > > При этом в самом конфиге сайта server_name не указан, сервер
> > > > > обслуживает
> > > > > все доменные имена (фильтрация по имени осуществляется на фронтэнде).
> > > > 
> > > > Видимо, надо потыкать в RFC разработчиков фронта и забыть о "проблеме"
> > > 
> > > Не достаточно. Если перечислить все обслуживаемые доменные имена в
> > > server_name, то в SERVER_NAME при подключении дефолтного fastcgi_params
> > > попадает первое из них, а не то, на которое пришли. Что явно противоречит
> > > RFC. Я вроде об этом уже писал выше по треду.
> > 
> > Не противоречит, на бэкенд отправляется каноническое имя
> > виртуального сервера.  
> 
>    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.
> 
> Но как? Английским по белому написано.... ", the server would use the contents 
> of the request's Host header field to select the correct virtual host"

Так nginx и использует "request's Host header field to select the 
correct virtual host" (на самом деле там сложнее, подробнее в 
стандартах HTTP).  И в соответствии с этим - ставит SERVER_NAME в 
каноническое значение имени выбранного виртуального сервера.

Нормативного требования использовать значение заголовка Host в 
переменной SERVER_NAME - в RFC 3875 нет.  (И, в общем-то, быть не 
может, потому что такое требование противоречило бы нормативным 
требованиям стандарта HTTP, см. выше про "там сложнее".)

-- 
Maxim Dounin
http://mdounin.ru/


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