[proposal] SERVER_NAME в fastcgi_params

Maxim Dounin mdounin на mdounin.ru
Пн Мар 6 22:51:53 UTC 2023


Hello!

On Mon, Mar 06, 2023 at 02:22:25PM +0300, Andrey Kopeyko wrote:

> On Mon, 6 Mar 2023, Nikolay Shaplov wrote:
> 
> > В письме от понедельник, 6 марта 2023 г. 13:59:30 MSK пользователь Andrey 
> > Kopeyko написал:
> >> к "нарушению RFC" приводит ваша конкретная конфигурация - когда вы
> >> обрабатываете множество имён в дефолтном сервере, для которого вы _не
> >> задаёте_ server_name.
> >> 
> >> Вот корень всех бед.
> >> 
> >> И именно поэтому дефолтное поведение менять не следует.
> >
> > Я бы с этим всем согласился, приняв на веру, если бы в RFC не было бы 
> > написано:
> >
> > The SERVER_NAME variable MUST be set to the name of the server host
> > to which the client request is directed.
> 
> Вот это самое правило вы и нарушаете, в описанной вами конфигурации, - но раз 
> вам так надо и вы понимаете что вы делаете, то пускай.
> 
> Обходной хак вам подсказали - использовать $http_host, и быть готовым что там 
> тоже может быть пусто.

Я скромно замечу, что использовать переменную $http_host для чего 
либо, кроме проверки собственно заголовка Host - не стоит.  
Этот заголовок может отсутствовать вообще или не совпадать с тем 
хостом, которому обращался клиент.  Конфигурация с $http_host - 
это почти всегда как минимум глюки в краевых случаях, а как 
максимум - "дыра в безопасности".

Как уже было верно отмечено в этом треде, если нужна переменная, 
отражающая запрошенный клиентом хост, то следует использовать 
переменную $host.

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


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