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, и быть готовым что там
тоже может быть пусто.
Но вы продолжаете желать странного - поломать дефотное поведение для всех
прочих случаев...
Приходите в офис, обсудим.
> ...
>
> ... 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.
>
> MUST как-то обязывает к тому чтобы оно либо было установлено, либо вообще
> отказывалось работать, со страшной руганью, на мой вкус...
>
>> Если вы зададите для этого сервера несуществующее имя ("_" как рекомендует
>> документация, или "fakehost.fakedomain") - переменная SERVER_NAME волшебным
>> образом появится.
>>
>> P.S.
>> Будете в офисе - подходите, обсудим подробнее (ибо голосом будет удобнее).
> Буду в городе в начале след. недели. Обсудим, да...
>
--
Best regards,
Andrey A. Kopeyko <andrey@kopeyko.ru>_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru