Inserindo correção de certificado do certbot
This commit is contained in:
1 parent
1949f2f37b
commit
95810ce994
1 file changed
+75
@@ -76,6 +76,81 @@ A infraestrutura é mantida via `systemd` para garantir alta disponibilidade.
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Manutenção do certificado HTTPS do mmpCreator
|
||||
|
||||
O site é atendido pelo Traefik na porta 443, enquanto o backend de colaboração atende diretamente por HTTPS na porta 33001. O backend utiliza os arquivos `/etc/letsencrypt/live/alice.ufsj.edu.br/fullchain.pem` e `privkey.pem` e carrega o certificado ao iniciar. Portanto, renovar o certificado exige reiniciar o backend para carregar a nova versão.
|
||||
|
||||
Uma página que abre normalmente, mas não conecta ao servidor em tempo real, pode indicar certificado vencido na porta 33001. O aviso de Ad Blocker exibido pelo frontend é genérico e não confirma a causa.
|
||||
|
||||
### 1. Verificar certificado e serviço
|
||||
|
||||
Execute no servidor Linux:
|
||||
|
||||
```bash
|
||||
sudo openssl x509 \
|
||||
-in /etc/letsencrypt/live/alice.ufsj.edu.br/fullchain.pem \
|
||||
-noout -dates
|
||||
|
||||
sudo certbot certificates
|
||||
sudo systemctl status backend-MMPCreator.service --no-pager
|
||||
sudo ss -ltnp 'sport = :80'
|
||||
sudo grep -nE 'authenticator|installer|pre_hook|post_hook' \
|
||||
/etc/letsencrypt/renewal/alice.ufsj.edu.br.conf
|
||||
```
|
||||
|
||||
`notAfter` informa a data de expiração, em GMT/UTC. Um serviço `active (running)` ainda pode apresentar um certificado expirado.
|
||||
|
||||
### 2. Renovar com Certbot standalone e Traefik
|
||||
|
||||
Na configuração diagnosticada, o Certbot usa `authenticator = standalone`, e o container `traefik` ocupa a porta 80. Nesse cenário, é necessário parar temporariamente o Traefik para liberar a porta durante a validação. Este procedimento interrompe o acesso aos sites atendidos pelo proxy; execute em uma janela de manutenção. Ele só se aplica enquanto essa configuração permanecer em uso.
|
||||
|
||||
O certificado inclui sete domínios. Todos precisam estar acessíveis para a validação HTTP do Certbot. Se o teste falhar, corrija o erro informado antes de tentar a renovação real.
|
||||
|
||||
Execute o bloco completo em Bash. O `trap` tenta iniciar novamente o Traefik ao sair do bloco, inclusive se algum comando falhar:
|
||||
|
||||
```bash
|
||||
(
|
||||
set -e
|
||||
trap 'sudo docker start traefik' EXIT
|
||||
|
||||
sudo docker stop traefik
|
||||
sudo certbot renew --cert-name alice.ufsj.edu.br --dry-run
|
||||
sudo certbot renew --cert-name alice.ufsj.edu.br
|
||||
)
|
||||
```
|
||||
|
||||
O `--dry-run` apenas testa a renovação; o comando seguinte renova efetivamente o certificado. Confira a retomada do proxy e a nova validade:
|
||||
|
||||
```bash
|
||||
sudo docker ps --filter name=traefik
|
||||
sudo openssl x509 \
|
||||
-in /etc/letsencrypt/live/alice.ufsj.edu.br/fullchain.pem \
|
||||
-noout -dates
|
||||
```
|
||||
|
||||
Se o Traefik não estiver em execução, retome-o com `sudo docker start traefik`. Se `notAfter` continuar vencido, consulte a saída do Certbot e `/var/log/letsencrypt/letsencrypt.log`.
|
||||
|
||||
### 3. Reiniciar o backend e testar a conexão
|
||||
|
||||
Após uma renovação bem-sucedida, confirme que o certificado no disco não está vencido antes de reiniciar. O reinício desconecta temporariamente as salas:
|
||||
|
||||
```bash
|
||||
sudo openssl x509 \
|
||||
-in /etc/letsencrypt/live/alice.ufsj.edu.br/fullchain.pem \
|
||||
-noout -checkend 0 && \
|
||||
sudo systemctl restart backend-MMPCreator.service
|
||||
|
||||
sudo systemctl status backend-MMPCreator.service --no-pager
|
||||
sudo journalctl -u backend-MMPCreator.service -n 80 --no-pager
|
||||
|
||||
curl -v --max-time 10 \
|
||||
'https://alice.ufsj.edu.br:33001/socket.io/?EIO=4&transport=polling'
|
||||
```
|
||||
|
||||
O teste deve responder sem erro TLS, com um handshake Socket.IO iniciado por `0{"sid":...}`. Depois, recarregue o mmpCreator e teste a criação e a entrada em uma sala. Não utilize `curl -k` para validar a correção: essa opção ignora os erros de certificado.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Área de Desenvolvimento (Execução Manual)
|
||||
|
||||
1. Ative o ambiente virtual:
|
||||
|
||||
Reference in new issue
Block a user