Expiração de certificado TLS parte 2

Fazendo uma reconstrução manual pela linha de comando, pois parece que os certificados expiraram novamente.

Compartilhando caso mais alguém esteja passando por isso.

1 curtida

Não deve acontecer novamente. Houve uma correção em dezembro:

2 curtidas

Um certificado expirou em um dos meus dois fóruns. O outro estava OK. A principal diferença que consigo identificar é que o fórum com falha passou por uma atualização web, enquanto o fórum OK parou na atualização web e optei por recuperar fazendo uma atualização CLI.

Versão anterior: 2025.12.0-latest (b10ea7929f) conforme observado em 28 de novembro.

Em 23 de dezembro, apliquei um patch no script nginx no fórum, o que mais tarde se revelou um erro. Mas eu não reiniciei nem sinalizei o nginx, então talvez isso tenha sido inútil. Não fiz nada no fórum que mais tarde não falhou.

É possível que eu o tenha quebrado em vez de consertado. Mas aqui está a transcrição:

root@ubuntu-4gb-hel1-1-app:/# docker exec -it app bash
root@ubuntu-4gb-hel1-1-app:/# sed -i '/301/s/;/$request_uri;/' /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
root@ubuntu-4gb-hel1-1-app:/# cat /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
server {
  listen 80;
  listen [::]:80;

  location ~ /.well-known {
    root /var/www/discourse/public;
    allow all;
  }

  return 301 https://forum.example.com$request_uri;
}

Em 1º de janeiro, atualizei ambos os fóruns, um na web e o outro via CLI.

Em 19 de janeiro ou possivelmente 20 de janeiro, o certificado no fórum com falha expirou e o fórum ficou inacessível pela web.

Quando percebi, reiniciei o host - não fiz mais nada - e um novo certificado apareceu:
Emitido em Terça-feira, 20 de janeiro de 2026 às 12:04:25

Muito, muito estranhamente, parece que o arquivo que modifiquei foi revertido para um estado não modificado, no momento da reinicialização, embora este servidor - ambos os servidores - tenham sido atualizados. Gostaria de entender como isso aconteceu.

root@ubuntu-4gb-hel1-1:~# docker exec -it app bash
root@ubuntu-4gb-hel1-1-app:/# ls -l /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
-rw-r--r-- 1 root root 173 Jan 20 13:05 /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
root@ubuntu-4gb-hel1-1-app:/# cat /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
server {
  listen 80;
  listen [::]:80;

  location ~ /.well-known {
    root /var/www/discourse/public;
    allow all;
  }

  return 301 https://forum.techshedfrome.org;
}

Para ser completo, o servidor que está funcionando se parece com isto:

root@rc-debian-hel:~# docker exec -it app bash
root@rc-debian-hel-app:/# ls -l /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
-rw-r--r-- 1 root root 185 Jan  1 19:57 /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
root@rc-debian-hel-app:/# cat /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
server {
  listen 80;
  listen [::]:80;

  location ~ /.well-known {
    root /var/www/discourse/public;
    allow all;
  }

  return 301 https://retrocomputingforum.com$request_uri;
}

Aquele site funcionando parece ter obtido um novo certificado no momento da reconstrução ou reinicialização:

Emitido em Quinta-feira, 1 de janeiro de 2026 às 18:59:22
Expira em Quarta-feira, 1 de abril de 2026 às 19:59:21

Ambos estão rodando agora

Discourse 2026.01.0-latest - https://github.com/discourse/discourse version a9008966f0b339b5a00c1629bc61eb2ff8ad812a