Prezado leitor,
Se você está trabalhando com o GeoNode e está tendo alguma dificuldade para gerar o certificado digital (SSL), vou detalhar como você pode fazer utilizando o Lets Encrypt. Vamos aos passos:
1. Instalar o certbot (para gerar o certificado)
> sudo apt install -y certbot
2. Parar o Nginx
> docker stop nginx4my_geonode
3. Gerar o certificado para o domínio desejado
> sudo certbot certonly -d fernandoquadro.com.br
O certbot irá gerar os arquivos privkey.pem e fullchain.pem na pasta /etc/letsencrypt/archive/fernandoquadro.com.br
4. Copiar os arquivos para o nginx no docker
No container do Ngnix existe a pasta /certificate_symlink, é nela que ficam armazenados os arquivos do certificado SSL. Você precisa então, substituir os arquivos que você criou com o certbot pelos que estão por default nessa pasta. Para isso, entre na pasta onde estão os arquivos que você gerou e execute o seguinte comando:
> docker cp fullchain.pem nginx4my_geonode:/certificate_symlink > docker cp privkey.pem nginx4my_geonode:/certificate_symlink
Após realizada a cópia confira se está tudo certo. Caso ele tenha criado com o nome fullchain1 ou privkey1, a sugestão é apagar os antigos e renomear os novos.
5. Alterar as variáveis no arquivo .env
Para finalizar é necessário que você altere as seguintes variáveis do seu arquivo .env para https. São elas:
– SITEURL
– NGINX_BASE_URL
– GEOSERVER_WEB_UI_LOCATION
– GEOSERVER_PUBLIC_LOCATION
Lembre-se de alterar também as variávels HTTP_HOST (que ficará em branco) e HTTPS_HOST:
– HTTPS_HOST=fernandoquadro.com.br
Por último, lembre-se de setar as variaveis abaixo, para production:
– DOCKER_ENV=production
– LETSENCRYPT_MODE=production
6. Reiniciar o Nginx
> docker start nginx4my_geonode
Agora é só abrir o navegador e verificar se deu tudo certo e seu GeoNode está com o HTTPS ativado.
Dica: Se precisar conferir o nome dos arquivos, a configuração dos arquivos pem, fica na pasta /etc/nginx no docker no arquivo nginx.https.available.conf