Nagios check_http возвращает ошибку “Не удается установить SSL-соединение” на CentOS 7.

Вопрос или проблема

Я запускаю сайт на Apache (httpd) на сервере CentOS 7 и мониторю его с помощью Nagios на другом сервере CentOS 7. Конфигурация в Nagios выглядит так:

define service {
       check_command                  check_http_url!/my_class/product/session!-f follow -S
       host_name                      mysite.com
       use                            critical-service
       service_description            My Site Production
       servicegroups                  production-sites
       }

Это работало до недавнего времени. Теперь Nagios сообщает об ошибке:

CRITICAL - Не удается установить SSL-соединение.

Я выполнил следующее и также увидел ошибку:

[root@mynagiosserver-01 ~]# /usr/lib64/nagios/plugins/check_http -H mysite.com -u /my_class/product/session -f follow -S -v
CRITICAL - Не удается установить SSL-соединение.
SSL инициализирован

На сервере Nagios, mysite.com сопоставляется с IP-адресом сервера Apache в файле /etc/hosts.

Есть идеи, как я могу дальше исследовать эту проблему?

Ответ или решение

Ошибка "Cannot make SSL connection", которую вы наблюдаете при использовании Nagios на CentOS 7, может быть вызвана рядом причин, связанных как с конфигурацией Nagios, так и с самим сервером Apache. Давайте разберем шаги, которые помогут вам диагностировать и устранить эту проблему.

1. Проверьте SSL-соединение

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

openssl s_client -connect mysite.com:443

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

2. Убедитесь, что SSL настроен правильно

Проверьте конфигурацию вашего Apache-сервера. Убедитесь, что у вас правильно настроены параметры SSL. Обычно все настройки SSL находятся в файле конфигурации, который может выглядеть как ssl.conf или находиться в секции <VirtualHost *:443>. Убедитесь в следующем:

  • Сертификаты SSL корректно указаны;
  • Параметры SSLEngine on и другие настройки SSL правильно определены.

Пример конфигурации может выглядеть следующим образом:

<VirtualHost *:443>
    ServerName mysite.com
    DocumentRoot /var/www/html

    SSLEngine On
    SSLCertificateFile /etc/ssl/certs/my_cert.pem
    SSLCertificateKeyFile /etc/ssl/private/my_cert.key
    SSLCertificateChainFile /etc/ssl/certs/my_chain.pem
</VirtualHost>

3. Проверьте настройки фаервола и SELinux

Это одна из типичных причин, по которой могут возникнуть проблемы с соединением. Убедитесь, что порты 80 (HTTP) и 443 (HTTPS) открыты на вашем сервере:

firewall-cmd --list-all

Если порты закрыты, откройте их командами:

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

Также проверьте настройки SELinux, если он включен:

sestatus

Если он активен, убедитесь, что политики SELinux позволяют работу с SSL. Можно временно отключить SELinux для тестирования:

setenforce 0

Внимание: Не забудьте вернуть SELinux в предыдущий режим после тестирования.

4. Проверьте версию OpenSSL и Nagios Plugins

Есть вероятность, что проблема может быть связана с устаревшими версиями пакетов. Проверьте, установлены ли последние версии OpenSSL и Nagios Plugins:

yum info openssl
yum info nagios-plugins

Обновите их при необходимости:

yum update openssl nagios-plugins

5. Проверьте сертификат

Если ваш сертификат самоподписанный или вы используете сертификат, выданный недоверяемым центром сертификации, это также может вызывать проблемы с установлением SSL-соединения. Попробуйте добавить флаг -k к check_http или задать параметр --ssl с указанием используемого метода и сертификатов:

/usr/lib64/nagios/plugins/check_http -H mysite.com -u /my_class/product/session -f follow -S --ssl

Если сертификат конечно самоподписанный, можно добавить его в доверенные сертификаты на вашем Nagios сервере.

Заключение

Следуя данным шагам, вы сможете значительно сузить круг возможных причин возникновения ошибки "Cannot make SSL connection". Начните с проверки настроек SSL на сервере Apache, сбрасывайте изменения с использованием инструментов вроде openssl для диагностики, а также следите за конфигурациями фаервола и SELinux. Удачи в устранении проблемы!

Оцените материал
Добавить комментарий

Капча загружается...