Задать вопрос
Inkognitoss
@Inkognitoss
Full-stack разработчик.

Nginx. Что означает запись server_name _;?

Не могу вкурить смысл такой записи из документации. Если не сложно, подскажите пожалуйста. Спасибо.
1ea01a948e804969b6f04686b4579b15.png
  • Вопрос задан
  • 14511 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
@kryvel
Системный администратор
эти символы являются недопустимыми в имени домена, поэтому они используются как имя по-умолчанию для всех доменов, которые будет обрабатывать nginx

другими словами, если Вы туда напишите любую строку которая не может быть доменным именем, то это будет эквивалентно _
например %, $, ^, &, §, !!??##@@ или любое другое, которое не соответствует rfc1034
Ответ написан
sim3x
@sim3x
In catch-all server examples the strange name “_” can be seen:

here is nothing special about this name, it is just one of a myriad of invalid domain names which never intersect with any real name. Other invalid names like “--” and “!@#” may equally be used.

Настройка, которая словит любое доменное имя, которое пришло в nginx
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
shambler81
@shambler81 Куратор тега Linux
@official_page_kawaii_cat
Здесь хорошо описано, для чего подобная запись.
https://serverfault.com/questions/847978/best-prac...


Вы можете использовать это как блок сервера по умолчанию:

server {
    listen 80 default_server;
    listen 443 ssl default_server;

    server_name _;

    ... SSL keys for default server ...

    return 403;
}


Это приведет к тому, что любое HTTP-соединение, заголовок Host: которого не соответствует ни одному другому виртуальному хосту на сервере, будет возвращать клиенту сообщение об ошибке 403 Forbidden.

Если вы используете здесь действительные ключи SSL для имени хоста, которое не соответствует ни одному существующему имени хоста, клиент напрямую получит страницу ошибки 403. Если вы используете здесь самозаверяющий сертификат, пользователь получит сообщение об ошибке ненадежного сертификата.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы