Proxy Nginx com SSL para RR-Flow
Utilizando Nginx para acessar o RR-Flow diretamente através de um domínio com certificado SSL.
Configuração do Grafana
Primeiramente, vamos configurar o Grafana para executar apenas em modo localhost, de modo que a porta 3000 fique disponível somente para o próprio servidor e ajustar a URL base. Para isso, faça os seguintes ajustes no arquivo de configuração:
vim /etc/grafana/grafana.ini
Encontre e ajuste as seguintes variáveis e altere para o modo abaixo:
http_addr = localhost
root_url = %(protocol)s://%(domain)s/
Instalação do Nginx
Prossiga com a instalação do Nginx:
apt install nginx
Crie um arquivo de configuração para o Grafana:
vim /etc/nginx/sites-available/grafana.conf
Adicione a seguinte configuração:
server {
listen 80;
listen [::]:80;
server_name rrflow.seudominio.com.br;
# Descomente para restringir o acesso apenas aos IPs listados
# allow 127.0.0.1;
# allow ::1;
# allow 192.168.0.0/16;
# allow 2801:db8::/32;
# deny all;
# error_page 403 http://www.rrflow.com.br;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
}
Crie um link simbólico para ativar a configuração e reinicie o Nginx:
ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/
systemctl restart nginx
Certificado SSL com Let’s Encrypt
Instale o Certbot para gerar os certificados SSL gratuitos com Let’s Encrypt:
apt install certbot python3-certbot-nginx
Execute o Certbot e siga as instruções para gerar o certificado. Certifique-se de que as portas 80 e 443 estejam abertas ao público:
certbot
Agora seu domínio já terá SSL!
Renovar certificado
Os certificados precisam ser renovados a cada 90 dias. Você pode automatizar isso com o comando:
certbot -q renew
Renovar automaticamente
Para tentar renovar o certificado automaticamente uma vez por mês, adicione a seguinte linha ao cron:
echo '00 00 1 * * root certbot -q renew' >> /etc/crontab
systemctl restart cron