[nginx feature request] change server_name default value to ""

Gena Makhomed gmm на csdoc.com
Вт Июл 20 14:41:10 MSD 2010


On 20.07.2010 8:21, Kruglov Eugenie wrote:

> Если не брать в расчёт субьективизм, что мне интуитивно понятнее
> "server_name $hostname;", то остаётся вопрос с логами: в случае
> незаполненного server_name что будем писать в лог? Если $hostname -
> нелогично. ""? Косяки с анализаторами логов, косяки с читаемостью.

для логов эта проблема решена, вместо "" для пустых и отсутствующих
значений каких-либо полей и в nginx и в apache выводится символ '-'

и для всех таких случаев, где применяется server_name  _;

server {
     listen       80  default_server;
     server_name  _;
     return       444;
}

что будет в логе, символ '_' или символ '-', - практически нет разницы.

причем, дефолт server_name ""; никому мешать не будет, в частности,
в вышеприведенном примере конфига из официальной документации:

http://nginx.org/en/docs/http/request_processing.html 
#how_to_prevent_undefined_server_names

We have chosen the non-existent domain name “_” as the server name [...] 
Note that you should set a name for this server, otherwise nginx will 
use the hostname.

этот вариант обхода и "выключения" мешающего дефолта
будет не нужен, и можно будет просто написать:

server {
     listen  80 default_server;
     return 444;
}

и туда будут попадать все запросы на несуществующие сервера
и все запросы у которых отсутствует поле "Host" - что нам и надо.

>>> при написании примеров использования nginx, документации, ... приходится
>>> многократно повторять "server_name _;" для отмены навязчивого дефолта.
>>>
>>> изменить дефолтовое значение server_name на "", что сделает ненужным
>>> хак server_name _; и в результате этого конфиги станут чище и красивее.
>>>
>>> отсутствие директивы server_name подразумевает пустое имя сервера ""
>>> дефолт server_name $hostname; является неожиданным поведением nginx.

>> Предложение мне нравится.
>> У кого-нибудь есть возражения ?

-- 
Best regards,
  Gena




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