Configurando Grafana para funcionar com HTTPS, usando um certificado auto-assinado.
Criando um certificado auto-assinado
Instale o pacote opensssl.
No Debian 8/Ubuntu 16.04:
apt-get -y install openssl
No CentOS 7:
yum install -y openssl
Agora crie uma chave privada RSA. Execute os comandos abaixo:
mkdir /etc/certs
cd /etc/certs/
openssl genrsa -aes256 -out server.key 2048
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
rm server.key.org
Defina uma senha para a chave.
Agora crie uma requisição de assinatura de certificado com validade para 10 anos (ou 3650 dias). Execute o comando abaixo.
openssl req -new -sha256 -days 3650 -key server.key -out server.csr
Durante a execução do comando acima será solicitado a senha da chave privada e os dados do certificado e que serão exibidos no navegador do usuário. Veja o exemplo abaixo.
Country Name (2 letter code) [GB]:BR
State or Province Name (full name) [Berkshire]:Estado
Locality Name (eg, city) [Newbury]:Cidade
Organization Name (eg, company) [My Company Ltd]: Minha empresa LTDA
Organizational Unit Name (eg, section) []:Meu setor de trabalho
Common Name (eg, your name or your server’s hostname) []:nomeservidor.empresa.com.br
Email Address []: e-mail@meusite.com.br
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Code language: CSS (css)
Agora assine o certificado.
openssl x509 -req -days 3650 -sha256 -in server.csr -signkey server.key -out server.crt
Usando, o comando acima, você estará assinando o certificado com validade de 10 anos (aproximadamente 3650 dias). Se quiser mudar este tempo, altere a quantidade de dias no parâmetro -days.
Configurando o Grafana para funcionar sobre HTTPS
Quando o Grafana é instalado via pacote .deb, o arquivo de configuração fica em: /etc/grafana/grafana.ini.
Edite o arquivo /etc/grafana/grafana.ini e altere os parâmetro abaixo para ficar da seguinte maneira, mas faça os ajustes necessários para o seu ambiente.
Antes:
;protocol = http
;http_port = 3000
;cert_file =
;cert_key =
Depois:
protocol = https
http_port = 443
cert_file = /etc/certs/server.csr
cert_key = /etc/certs/server.key
Code language: JavaScript (javascript)
Agora é só reiniciar o Grafana.
No Debian 8/Ubuntu 16.04:
service grafana-server restart
No CentOS 7:
systemctl restart grafana-server
O Grafana estará acessível na URL: https://ip-servidor:3000
Aceite o certificado no navegador, pois o mesmo vai reclamar que o site está usando um certificado auto-assinado.
Os passos acima pode ser adaptados para a sua realidade, caso possua um certificado válido.