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