Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Bug] Erro ao inserir código SSL Aula 04 - Implementando a versão HTTPS

Olá, fiz todas as configurações necessárias realizadas durante a aula, porém ao utilizar o site do Alurabooks no dia seguinte não consegui realizar o login no site, aparecia a mensagem "Aconteceu um erro inesperado ao afetuar o seu login! Entre em contato com o suporte!", o erro que aparece dentro da aba Network é ERR_EMPTY_RESPONSE

Quando eu realizo a exclusão do código de habilitação do certificado SSL e o site volta a funcionar em HTTP ele funciona normalmente. Já fiz a reinstalação dos conteúdos do site e segui todo o passo a passo da aula porém quando é colocado o código do certificado ele não funciona nem o login nem o cadastro.

conseguem me ajudar? obrigada!

3 respostas

Olá Larissa.

Tudo bem?

O problema ERR_EMPTY_RESPONSE geralmente indica que o servidor não está respondendo corretamente às solicitações. Aqui estão alguns passos que você pode seguir para tentar identificar e corrigir o problema:

  1. Verifique os Logs do Servidor: Verifique se há alguma mensagem de erro nos logs do servidor. Isso pode fornecer pistas sobre o que está causando o problema.

  2. Certificados SSL: Certifique-se de que os certificados SSL estão corretos e que não há problemas com eles. Você pode tentar regenerar os certificados usando o comando OpenSSL novamente:

    openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
    
  3. Permissões dos Arquivos: Verifique se os arquivos server.key e server.crt têm as permissões corretas e podem ser lidos pelo seu servidor.

  4. Configuração do Servidor: Certifique-se de que a configuração do servidor está correta. O trecho de código que você mencionou deve estar assim:

    const https = require('https');
    const fs = require('fs');
    const app = require('./app'); // ou o nome do seu arquivo principal
    
    https.createServer({
      key: fs.readFileSync('server.key'),
      cert: fs.readFileSync('server.crt')
    }, app).listen(8000, () => {
      console.log("API disponível em https://localhost:8000");
    });
    
  5. Porta 8000: Certifique-se de que a porta 8000 não está sendo usada por outro serviço e que está aberta para conexões.

  6. Firewall/Antivírus: Verifique se algum firewall ou antivírus não está bloqueando as conexões HTTPS.

  7. Testar Localmente: Tente acessar a API localmente usando o curl ou o Postman para ver se você consegue obter uma resposta:

    curl -k https://localhost:8000/public/login
    

Se depois de seguir esses passos o problema persistir, pode ser útil compartilhar mais detalhes sobre o que você encontrou nos logs do servidor ou qualquer mensagem de erro adicional que possa aparecer.

Espero ter ajudado e bons estudos!

solução!

Oii Renan, tudo bem e com vc?

então, refiz todo o procedimento e inclusive até reinstalei do zero todos os arquivos mas o erro continua. O que eu percebi foi que quando chamo as informações da pasta curso-react-alurabooks ele mostra as informações locais e da rede como HTTP e não como HTTPSInsira aqui a descrição dessa imagem para ajudar na acessibilidade

todas as configs no código js tbm estão certinhas como abaixo:

server.use(router)
https.createServer(
  {
  key: fs.readFileSync('server.key'),
  cert: fs.readFileSync('server.crt')
  },
  server
).listen(8000, () => {
  console.log("API disponível em https://localhost:8000")
})

e todos os consts tbm

const fs = require('fs')
const bodyParser = require('body-parser')
const jsonServer = require('json-server')
const jwt = require('jsonwebtoken')
const https = require('https')

também reinstalei o certificado e não ocorreu nenhum erro durante a instalação

Oi Larissa.

Esse erro ERR_EMPTY_RESPONSE ocorre quando o navegador não confia na autoridade de certificação (CA) que emitiu o certificado SSL/TLS do servidor ao qual você está tentando se conectar. Isso porque adicionamos o SSL no back-end. Para o curso não tem problema pois os teste são feitos no Postman, veja se consegue fazer o teste do login no Postman, igual o instrutor faz em aula.