Способы оплаты Abuse

Что значит ошибка тест конфигурации web-сервера завершился неудачно

04.12.2024, 22:16

Ошибки при работе с ISPmanager могут возникать по различным причинам. Нередко возникает проблема "тест конфигурации web-сервера завершился неудачно". Чаще всего подобная ошибка появляется в случае ручных изменений в конфигурационных файлах самого веб-сервера или виртуального хоста (конфигурационного файла сайта). Дальше рассмотрим способы борьбы с данным недугом.

Как проявляется?

Ошибки при работе с ISPmanager

При изменении настроек сайта в панели ispmanager появляется следующее сообщение об ошибке:

Тест конфигурации web-сервера завершился неудачно <подробности ошибки>
(nginx: configuration file /etc/nginx/nginx.conf test failed)

Некорректный IP-адрес

Если указан некорректный IP-адрес для прослушивания веб-сервером, панель вернет следующую ошибку:

Тест конфигурации web-сервера при сохранении файла
'/etc/nginx/vhosts/<имя_пользователя>/<название_сайта>.conf' завершился неудачно:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx:
[emerg] bind() to <ip-адрес:порт> failed (99: Unknown error) nginx: configuration file /etc/nginx/nginx.conf test failed

Решение простое - обратите внимание на какой адрес и порт указывает ошибка. После, необходимо проверить в каком файле используется этот адрес и порт.

Сделать это можно с помощью утилиты "grep":

grep -r <ip-адрес:порт> /etc/nginx/*

Также проверьте наличие IP-адреса на сетевом интерфейсе сервера:

ip a | grep <ip-адрес:порт>

Если адрес отсутствует, то веб-сервер Nginx не обработает конфигурацию с таким адресом - необходимо либо изменить IP-адрес в конфигурационных файлах, либо добавить IP-адрес на интерфейс.

При ошибке пути файла сертификата

Если указан некорректный путь до файла сертификата, панель вернет следующую ошибку:

Тест конфигурации web-сервера при сохранении файла

'/etc/nginx/vhosts/<пользователь>/<название_сайта>.conf' failed:
nginx: [emerg] cannot load certificate "/var/www/httpd-cert/<пользователь>/<название_сайта>_le1.crtca":
BIO_new_file() failed (SSL: error:02001002:system library:
fopen:No such file or directory:fopen('/var/www/httpd-cer/<пользователь>/<название_сайта>_le1.crtca','r')
error:2006D080:BIO routines:BIO_new_file:no such file) nginx:
configuration file /etc/nginx/nginx.conf test failed

Ошибка возникает, когда путь к сертификату указан неверно или файл сертификата отсутствует по указанному пути.

Необходимо проверить существуют ли файлы сертификата по указанному пути

ls -la /var/www/httpd-cert/<имя-пользователя>/<название-сайта>

Проверьте в каком файле указан путь до этих файлов

grep -r <название-сайта>_le /etc/nginx/vhosts/*

Если файла нет, удалите все директивы, которые ссылаются на этот файл, выполните тест конфигурации командой nginx -t и повторите попытку выпуска сертификата, если тест завершился удачно.

Ошибке синтаксиса directive is not allowed

При ошибке синтаксиса "directive is not allowed", панель вернет ошибку следующего формата:

Тест конфигурации web-сервера при сохранении файла

'/etc/nginx/vhosts/<имя_пользователя>/<название_сайта>.conf' завершился неудачно:
nginx: [emerg] "<имя_директивы>" directive is not allowed here in
/etc/nginx/vhosts/<имя_пользователя>/<название_сайта>.conf:
85 nginx: configuration file /etc/nginx/nginx.conf test failed

Ошибка указывает на некорректное расположение директивы, например внутри директивы location указана директива server, что является вышестоящей директивой и не может быть указана внутри location. Исправить ошибку можно, проверив структуру конфигурационного файла и разместить директивы корректно.

Ошибка синтаксиса directive is duplicate

При ошибке синтаксиса "directive is duplicate", панель вернет ошибку следующего формата:

Тест конфигурации web-сервера при сохранении файла

'/etc/nginx/vhosts/<имя-пользователя>/<название-сайта>.conf' завершился неудачно:
nginx: [emerg] "<расположение-директивы>" directive "<имя-директивы>" directive is duplicate in
/etc/nginx/vhosts/<имя-пользователя>/<название-сайта>.conf:
122 nginx: configuration file /etc/nginx/nginx.conf test failed

Ошибка указывает на дублирование директивы в одной из секций конфигурационного файла, например директива gzip была дважды обозначена в секции location более одного раза. Как исправить? Проверьте секцию, которая указана на месте <расположение-директивы> в тексте ошибки и исключить дублирующие директивы.