Задача №1 - спрятать Grafana за Nginx по ссылке http://myserver1. Полагаем что наш Nginx по умолчанию отдает index.html.
Переходим в папку Nginx sites-enabled:
cd /etc/nginx/sites-enabled
Создаем новую конфигурацию Nginx для Grafana:
sudo nano myserver1.conf
Название файла конфигурации точно такое же как и сайта, в моем случае "myserver1".
Указываем в нем следующее:
server {
listen 80;
listen [::]:80;
server_name myserver1;
location / {
proxy_pass http://localhost:3000/;
}
}
Сохраняем и провереям созданный конфиг:
>Nginx -t
Перезапускаем nginx:
sudo service nginx restart
sudo service nginx status
Имеем Grafana по адресу:
http://myserver1
Это хорошо работает если Grafana на отдельном сервере. Если она на том же сервер что и Zabbix, то лучше добавить немного безопасности для Grafana. Поэтому ставим следующую задачу.
Задача №2 - спрятать Grafana за Nginx с HTTPS по ссылке https://myserver1/grafana, где myserver1 dns-имя вашего сервера которое должно резолвится до перевода. Если вам некогда возиться з DNS, то указывайте ip-адрес сервера вместо myserver1.
Первым делом настраиваем Grafana в файле конфигурации:
sudo nano /etc/grafana/grafana.ini
Изменяем параметры:
domain = myserver1
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/
serve_from_sub_path = true
Далее необходимо создать конфиг для nginx:
sudo nano /etc/nginx/conf.d/grafana.conf
уже с таким содержанием:
server {
listen 443 ssl http2;
server_name myserver1;
index index.html index.htm;
location /grafana/ {
proxy_pass http://localhost:3000/;
proxy_set_header Host $host;
}
ssl_certificate /etc/ssl/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/nginx-selfsigned.key;
ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:RSA+3DES:!NULL:!RC4:!RSA+3DES;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
add_header X-XSS-Protection "1; mode=block";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options nosniff;
}
Создаем SSL-сертификаты если nginx их еще не имеет:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/nginx-selfsigned.key -out /etc/ssl/nginx-selfsigned.crt
Проверяем nginx:
> nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезапускаем юниты:
systemctl restart grafana-server nginx
Теперь наша Grafana будет доступна по https-адресу:
https://myserver1/grafana
Успехов.
No comments:
Post a Comment
А что вы думаете по этому поводу?