Se você criou uma instância na Oracle Cloud (como uma VPS gratuita com Ubuntu pode ser outras distros também) e percebeu que seu site não abre na porta 80 (HTTP) ou 443 (HTTPS), mesmo com o servidor web rodando e com as portas liberadas no painel, esse tutorial é para você!
Por padrão, a Oracle bloqueia essas portas por questões de segurança — mas você pode liberar facilmente.
Além disso, vamos compartilhar dicas valiosas e erros reais enfrentados ao tentar instalar um certificado SSL com Certbot. Isso pode economizar horas de testes e frustrações.
✅ Passo 1 – Acesse o painel da Oracle Cloud
- Acesse: https://cloud.oracle.com
- Vá para o menu: Compute > Instances
- Clique na sua instância (ex:
123-oracle-instance
) - Na seção Primary VNIC, clique no link para o subnet
- Dentro da subnet, clique na Security List associada
✅ Passo 2 – Adicione as regras de liberação de portas
Na tela da Security List:
- Clique em Add Ingress Rules
- Preencha assim:
Porta 80 (HTTP)
- Source CIDR:
0.0.0.0/0
- IP Protocol:
TCP
- Destination Port Range:
80
Porta 443 (HTTPS)
- Source CIDR:
0.0.0.0/0
- IP Protocol:
TCP
- Destination Port Range:
443
Clique em Add Ingress Rules para salvar.
✅ Passo 3 – Libere também no firewall da sua instância
Acesse sua instância via SSH e execute:
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Para garantir que essas regras permaneçam após o reboot:
sudo apt install iptables-persistent
sudo netfilter-persistent save
✅ Passo 4 – Reinicie seu servidor web (Nginx, Apache, etc.)
Se estiver usando Nginx:
sudo systemctl restart nginx
Agora acesse:
http://SEU-IP
✅https://SEU-DOMINIO
✅ (se já tiver configurado SSL)
⚠️ Problemas comuns ao tentar gerar certificado SSL com Certbot
Durante nossos testes reais com Certbot na Oracle Cloud, enfrentamos vários erros que podem confundir quem está começando. Aqui estão os mais comuns:
❌ Erro: Let’s Encrypt não consegue validar o domínio
Fetching http://seudominio.com/.well-known/acme-challenge/... Error getting validation data
🔍 Causas mais prováveis:
- O Nginx não está servindo a pasta
.well-known/acme-challenge
- O domínio aponta para outro IP ou não está propagado
- Redirecionamento HTTPS forçado está impedindo a validação HTTP
- A porta 80 está liberada na Security List, mas o Nginx não está ouvindo corretamente
- Certbot tenta fazer alterações temporárias e o Nginx já está com SSL configurado incorretamente, gerando conflito
✅ Solução recomendada:
- Garanta que o domínio resolve para o IP da instância
- Crie manualmente um arquivo de teste:
sudo mkdir -p /var/www/html/.well-known/acme-challenge
echo "ok" | sudo tee /var/www/html/.well-known/acme-challenge/teste.txt
- Acesse no navegador:
http://seudominio.com/.well-known/acme-challenge/teste.txt
- Se funcionar, use o Certbot:
sudo certbot --nginx -d seudominio.com
🧠 Verifique se as portas estão realmente liberadas com:
sudo ss -tulnp | grep ':80\|:443'
Se o Nginx estiver funcionando corretamente, você verá o serviço ouvindo nessas portas.
🛠️ Bônus: Como manter seus containers Docker funcionando após reboot
Se estiver usando containers Docker (como N8N, Evolution API, PostgreSQL, etc.), adicione restart: always
no seu docker-compose.yml
para garantir que tudo volte automaticamente após reiniciar a VPS:
restart: always
Espero ter ajudado, deixe um comentário se te ajudei! 😉