Maxim Dounin
March 13, 2023 04:58AM
Hello!

On Mon, Mar 13, 2023 at 10:50:37AM +0300, Nikolay Shaplov wrote:

> В письме от понедельник, 13 марта 2023 г. 10:46:51 MSK пользователь Maksim
> Kulik написал:
> > Мне кажется, что в RFC речь идет скорее про разные блоки server {}, т.к.
> > речь явно про several virtual hosts, а не про several server names. То есть
> > веб-сервер вполне корректно по RFC выбирает блок server {} по имени хоста и
> > используется главное имя этого блока далее в работе.
> > Вы в своем примере имеете один виртуал хост и N имен (алиасов, если хотите)
> > в нем, где N может быть бесконечным в случае дефолтного хоста. Ваш сервер и
> > выбирает этот самый хост по имени, которое видит в заголовке.
> Правильно. И то имя которое совпало должно попасть в переменную окружения
> SERVER_NAME
>
> Ну даже если не читать сам текст RFC (а там по-моему предельно ясно все
> написано), из соображений общий логики, почему в SERVER_NAME попадает первый
> из алиасов, а не тот на который пришли??? В этом нет вообще никакой логики.

Потому что первое из имён, указанных в директиве server_name -
каноническое. Это, кстати, явно описано в документации
(https://nginx.org/ru/docs/http/ngx_http_core_module.html#server_name):

: Первое имя становится основным именем сервера.

Разделение на каноническое имя и алиасы - оно ещё из Apache, где
имя сервера указывается отдельно, директивой ServerName, а алиасы,
соответственно, директивой ServerAlias. В nginx'е всех отличий в
этом плане - алиасы задаются с помощью той же директивы
server_name.

Выбор же между "использовать каноническое имя" или "использовать имя,
на которое пришли" - это вопрос, в первую очередь, желаемого
поведения.

Скажем, мы можем хотеть во всех перенаправлениях / ссылках /
текстах использовать каноническое имя, чтобы пользователь получал
одно и то же, независимо от того, по какому конкретно имени он
пришёл. Например, это может быть важно, чтобы тексты
сгенерированных страниц всегда совпадали, и их можно было
кэшировать для всех пользователей. Или просто из эстетических
соображений.

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

Что именно нужно в конкретной конфигурации - это решение того, кто
пишет конфигурацию nginx'а. В некоторых случаях оно явно вынесено
в отдельные директивы (см. упоминавшуюся ранее
server_name_in_redirect), в случае же CGI-like бэкендов оно
делается неявно с помощью задания переменной SERVER_NAME.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

[proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 05, 2023 10:42AM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 05, 2023 10:50AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 05, 2023 11:00AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 05, 2023 02:06PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 01:44AM

Re: [proposal] SERVER_NAME в fastcgi_params

Andrey Kopeyko March 06, 2023 06:00AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 06:08AM

Re: [proposal] SERVER_NAME в fastcgi_params

Andrey Kopeyko March 06, 2023 06:24AM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 06, 2023 09:18AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 06, 2023 01:36PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 01:38PM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 06, 2023 01:42PM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 06, 2023 01:52PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 01:56PM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 06, 2023 03:02PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 03:14PM

Re: [proposal] SERVER_NAME в fastcgi_params

Andrey Kopeyko March 06, 2023 03:26PM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 06, 2023 05:20PM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 06, 2023 07:24PM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 06, 2023 05:54PM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 06, 2023 10:18AM

Re: [proposal] SERVER_NAME в fastcgi_params

Dmitry Ivanov March 13, 2023 02:18AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 02:22AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 13, 2023 03:28AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 03:34AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 03:48AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 03:52AM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 13, 2023 04:38AM

Re: [proposal] SERVER_NAME в fastcgi_params

Evgeniy Berdnikov March 13, 2023 04:52AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 13, 2023 04:58AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 05:10AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 13, 2023 05:42AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 06:14AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 06:18AM

Re: [proposal] SERVER_NAME в fastcgi_params

Nikolay Shaplov March 13, 2023 06:22AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 06:28AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 13, 2023 06:52AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 06:54AM

Re: [proposal] SERVER_NAME в fastcgi_params

Илья Шипицин March 13, 2023 07:10AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maksim Kulik March 13, 2023 07:20AM

Re: [proposal] SERVER_NAME в fastcgi_params

Maxim Dounin March 13, 2023 04:28AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 285
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready