Skip to main content

Перевод Zabbix, установленного в контейнер на Apache2 с HTTP на HTTPS

Для того, что бы активировался режим HTTPS нужно выпустить сертификат с CN = IP адресу хоста, где крутится контейнер Zabbix. Далее прибиндить получившиеся сертификаты к папке внутри контейнера по пути /etc/ssl/apache2. Далее нужно выставить правильное разрешение на папку хоста с сертификатами (у нас 777). Сами сертификаты называются ssl.crt и ssl.key. Так же нужно прокинуть порт 443 с хоста в контейнер на 8443. Убрать проброс с 80 на 8080. Перезапустить контейнер.

Теперь команды 

Устанавливаем оснастку для выпуска сертификата

dnf install mod_ssl

Создаем папку, где будут лежать сертификаты на хосте

mkdir -p /etc/httpd/ssl/zabbix
chmod 777 /etc/httpd/ssl/zabbix

Выпускаем сертификат на 10 лет

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/httpd/ssl/zabbix/ssl.key -out /etc/httpd/ssl/zabbix/ssl.crt

Указываем данные и обязательно в данных CN указываем 10.17.37.232

Даем права на сертификаты 

chmod 777 /etc/httpd/ssl/zabbix -R

Теперь биндим папку хоста /etc/httpd/ssl/zabbix в папку контейнера /etc/ssl/apache2

 

Если установка не в контейнере, а на хосте, то нужно изменить настройки Appache - указав, где находятся сертификаты.Измените конфигурацию Apache SSL:

/etc/httpd/conf.d/ssl.conf

       SSLCertificateFile /etc/zabbix/certs/ssl.crt
       SSLCertificateKeyFile /etc/zabbix/certs/ssl.key

Перезапустите сервис Apache, чтобы применить изменения:

systemctl restart httpd.service

Для настройки автоматического редиректа с IP на IP/zabbix (что бы постоянно не дергать ручку zabbix)

Добавьте виртуальный хост в конфигурацию Apache и задайте постоянную переадресацию для корневого каналога на Zabbix SSL URL. Не забудьте заменить example.com на актуальное имя сервера.

/etc/httpd/conf/httpd.conf
       
       #Добавьте строки
       
       <VirtualHost *:*>
           ServerName example.com
           Redirect permanent / http://example.com
       </VirtualHost>

Перезапустите сервис Apache, чтобы применить изменения:

systemctl restart httpd.service

Я все делал через Portainer 10.17.37.232 (manager/Gazprom*123!@#)

Далее выставляем в самом Zabbix, как на скрине (но не обязательно)

Без имени.png