Добавить в корзинуПозвонить
Найти в Дзене

Zabbix 5.0 — настройка SSL в nginx

По умолчанию nginx для Zabbix 5.0 LTS настроен на работу по протоколу HTTP. Настроим HTTPS. Нам понадобятся SSL сертификаты SSL сертификаты SSL сертификат можно купить, можно сделать самоподписанные сертификаты. Я же буду делать SSL сертификаты, подписанные корпоративным центром сертификации. Генерирую CSR и KEY для SSL сертификатов с помощью подсистемы Linux. Извините, работаю на винде. Windows 10 — генерация CSR и KEY для SSL сертификатов с помощью подсистемы Linux В процессе работы мне понадобилось сконвертировать цепочку P7B в PEM. Windows — конвертация P7B в PEM с помощью подсистемы Linux Создаём папку /etc/zabbix/ssl для хранения ключей, в ней размещаем файлы ключа и приватного сертификата: mkdir /etc/zabbix/sll
cd /etc/zabbix/sll
touch zabbix-cert.pem
touch zabbix-key.pem Содержимое сертификата zabbix.pem и ключа zabbix.key копируем в созданные файлы zabbix-cert.pem и zabbix-key.pem. Поскольку центр сертификации корпоративный, понадобится добавить корневые сертификаты на Zabbix

По умолчанию nginx для Zabbix 5.0 LTS настроен на работу по протоколу HTTP. Настроим HTTPS.

Нам понадобятся SSL сертификаты

SSL сертификаты

SSL сертификат можно купить, можно сделать самоподписанные сертификаты. Я же буду делать SSL сертификаты, подписанные корпоративным центром сертификации.

Генерирую CSR и KEY для SSL сертификатов с помощью подсистемы Linux. Извините, работаю на винде.

Windows 10 — генерация CSR и KEY для SSL сертификатов с помощью подсистемы Linux

В процессе работы мне понадобилось сконвертировать цепочку P7B в PEM.

Windows — конвертация P7B в PEM с помощью подсистемы Linux

-2

Создаём папку /etc/zabbix/ssl для хранения ключей, в ней размещаем файлы ключа и приватного сертификата:

mkdir /etc/zabbix/sll
cd /etc/zabbix/sll
touch zabbix-cert.pem
touch zabbix-key.pem
-3

Содержимое сертификата zabbix.pem и ключа zabbix.key копируем в созданные файлы zabbix-cert.pem и zabbix-key.pem.

Поскольку центр сертификации корпоративный, понадобится добавить корневые сертификаты на Zabbix сервер:

Добавление корневых сертификатов в Ubuntu 18.04

Правим конфигурационный файл /etc/zabbix/nginx.conf:

server {
listen 80;
listen 443 ssl;
server_name example.com;

charset utf-8;

ssl_certificate /etc/zabbix/ssl/zabbix-cert.pem;
ssl_certificate_key /etc/zabbix/ssl/zabbix-key.pem;

if ($scheme != "https") {
return 301 https://$host$request_uri;
}

root /usr/share/zabbix;

index index.php;

location = /favicon.ico {
log_not_found off;
}

location / {
try_files $uri $uri/ =404;
}

location /assets {
access_log off;
expires 10d;
}

location ~ /\.ht {
deny all;
}

location ~ /(api\/|conf[^\.]|include|locale) {
deny all;
return 404;
}

location ~ [^/]\.php(/|$) {
fastcgi_pass unix:/var/run/php/zabbix.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;

fastcgi_param DOCUMENT_ROOT /usr/share/zabbix;
fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;

include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}

Теперь при входе на HTTP версию сайта будет происходить редирект на HTTPS версию.

Перезапускаем сервисы:

systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm

Zabbix сервер работает по HTTPS.

-4

Источник:
https://internet-lab.ru/zabbix_5_0_nginx_ssl

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.