#Что означает ошибка
conflicting server name ignored
Предупреждение означает, что один server_name указан в нескольких блоках. nginx игнорирует дубли; удалите повторы или объедините блоки.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Дубль server_name | Игнорируется. Прочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации. | Объедините. |
| Старый конфиг | Предупреждение. Прочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации. | Удалите. Перед этим сохраните настройки и локальные данные, которые могут быть потеряны. |
| Include дважды | Прочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации. | Исправьте. |
| default_server | Предупреждение. Прочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации. | Укажите. |
#Пошаговое решение
- Найдите дублиПодключитесь к серверу по SSH и выполните
sudo nginx -t. Найдите полное предупреждениеconflicting server name ... ignoredи запишите имя сервера, адрес:порт и номер конфигурационного файла. Сайт может продолжать работать, но один виртуальный хост будет проигнорирован. - Удалите лишнийПросмотрите активную конфигурацию командой
sudo nginx -T 2>&1 | grep -n -E "server_name|listen", не передавая весь вывод с секретами посторонним. Сравните блокиserverтолько для одного адреса/порта: одинаковыеserver_nameдопустимы в разных контекстах, а конфликт возникает в одном наборе слушателей. - ПроверьтеОпределите правильный виртуальный хост, сопоставив его
root,proxy_pass, сертификат и домен с настройками сайта. Перед изменением сохраните копии затронутых файлов. В дублирующем блоке удалите либо исправьте только ошибочное имя; не удаляйте весь блок ради исчезновения предупреждения. - Проверьте альтернативу: default_serverЗапустите
sudo nginx -tи убедитесь, что предупреждение исчезло и конфигурация допустима. Только после этого выполнитеsudo systemctl reload nginx; проверьте HTTP и HTTPS на правильном домене, в том числе сwww, и убедитесь, что запросы не стали попадать в чужой сайт.
#Проверка результата
Для «Nginx: conflicting server name — предупреждение» выполните штатную проверку конфигурации, затем один контрольный запрос к сервису. Сверьте его результат с журналом и убедитесь, что пользователи не получили новых ответов 4xx или 5xx после изменения.