Certificado (SSL)
Padrão - Proxy Cert (SSL)
Por padrão o AIOPS é instalado expondo a porta 80 para uso na intranet. Caso queira apontar um domínio com certificado SSL automático, utilize o container proxycert ele registrará um certificado Let's Encrypt através do domínio (Aviso: Lembre-se de expor a porta 80 publicamente durante o registro do domínio).
# Instalar o certificado automático com Let's Encrypt:
simonctl proxycert
# Se não existir, gerar um novo arquivo dhparam com 4096 bits
openssl dhparam -out /dados/etc/nginx/certs/dhparam.pem 4096
Certificado Próprio (SSL custom)
Colocar os arquivos na pasta /dados/etc/nginx/certs
Caso esteja utilizando apenas o container nginx-proxy (simonctl proxy): Editar o arquivo /dados/etc/nginx/proxy.conf
Ao utilizar o container de ssl automático nginx-proxy-cert (simonctl proxycert): Editar o arquivo /dados/etc/nginx/proxy-ssl.conf
# Adicionar o conteudo abaixo no arquivo:
# /dados/etc/nginx/proxy.conf ou /dados/etc/nginx/proxy-ssl.conf
upstream simon.customdomain.com {
server 127.0.0.1:80;
}
server {
server_name simon.customdomain.com;
listen 443 ssl http2;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_certificate /etc/nginx/certs/<arquivo>.crt;
ssl_certificate_key /etc/nginx/certs/<arquivo>.key;
ssl_dhparam /etc/nginx/certs/dhparam.pem;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-XSS-Protection "1; mode=block";
add_header X-Frame-Options "SAMEORIGIN";
server_tokens off;
location / {
proxy_pass http://simon.customdomain.com;
}
}Finalizar a configuração
# Testar a configuração do nginx
docker exec -ti nginx-proxy nginx -t
# A saída do console deverá ser:
# ....
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful
# Se o teste foi concluído com sucesso, reiniciar o proxy
# Caso utilize o arquivo proxy.conf
docker restart nginx-proxy
# E/Ou ao utilizar o container proxycert (nginx-proxy-cert)
# através do arquivo proxy-ssl.conf
docker restart nginx-proxy-cert
Proxy do APM Traefik (opcional)
É obrigatório que o DNS seja publicado (internet) e adicionado o certificado HTTPS (TLS).
Se houver certificados próprios (TLS), colocar os arquivos na pasta: /dados/etc/nginx/certs/
Para configurar o proxy do traefik criar o seguinte arquivo: /dados/etc/traefik/dynamic/certs-traefik.yaml
# conteúdo do arquivo de certificado customizado:
# /dados/etc/traefik/dynamic/certs-traefik.yaml
tls:
certificates:
- certFile: /etc/certs/example.crt
keyFile: /etc/certs/example.key