Por Timilehin Omolana

Executar HTTPS localmente é obrigatório para certos tipos de desenvolvimento.

Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

Durante o desenvolvimento, você pode querer configurar seu servidor web para estabelecer conexões seguras com navegadores. O Node.js torna esse processo simples, mesmo em um ambiente de não produção, com seu https módulo.

Na produção, você pode configurar seu aplicativo atrás de um proxy reverso como o NGINX, que geralmente fornece certificados para você. Mas você ainda pode precisar testar seu aplicativo usando https em desenvolvimento.

Como você pode usar um certificado SSL em um aplicativo Node.js?

Como usar um certificado SSL para desenvolver um servidor Node.js seguro

você pode facilmente criar um certificado SSL autoassinado no Linuxe siga as etapas abaixo para configurar seu aplicativo Node para usar https.

instagram viewer
  1. Crie um arquivo de ponto de entrada do servidor, por exemplo, index.js.
  2. Importar o https e fs módulos no arquivo assim: const https = exigir('https');
    const fs = exigir('fs')
  3. Defina o objeto de opções para o https servidor que você está prestes a criar. Lembre-se de substituir minha-chave-do-servidor.pem e meu-servidor-cert.pem com os caminhos corretos de sua chave privada e arquivos de certificado. const opções = {
    chave: fs.readFileSync("my-server-key.pem"),
    cert: fs.readFileSync("meu-servidor-cert.pem")
    }
    Para usar um certificado SSL real, que você pode obter gratuitamente em letsencrypt.org, utilize as seguintes opções: const opções = {
    chave: fs.readFileSync("/path/to/private.key"),
    certificado: fs.readFileSync("/path/to/ssl_certificate.crt"),
    ca: [
    fs.readFileSync("/path/to/ca_root_file.crt"),
    fs.readFileSync("/path/to/ca_bundle_certificate.crt")
    ]
    }
  4. Agora inicialize seu servidor usando as opções e configure-o para escutar na porta 443. https.createServer (opções, (req, res) => {
    res.writeHead(200);
    res.end("olá mundo");
    })
    .ouvir(443);

Agora você pode iniciar seu servidor no terminal usando nó index.js. Ao testar a conexão abrindo https://localhost ou https://localhost: 443/ no seu navegador, você deve ver 'Olá Mundo' exibido.

Seu navegador também pode avisá-lo sobre uma conexão insegura ao usar o certificado autoassinado. Isso é normal, pois os certificados autoassinados geralmente são considerados inseguros pelos navegadores da web.

Você pode obter o erro “Erro: ouvir EACCES: permissão negada 0.0.0.0:443” quando você tenta iniciar seu servidor, isso ocorre porque sua máquina nega o acesso do aplicativo à porta 443, que é o comportamento padrão na maioria dos dispositivos. Para corrigir isso, execute o nó index.js comando como usuário root no Linux (sudo node index.js) ou abra seu terminal como administrador no Windows.

Usando certificados SSL em aplicativos Node.js

Na maioria das vezes, você só deseja adicionar certificados SSL durante a fase de desenvolvimento. Os requisitos de produção geralmente exigem a instalação de ferramentas de segurança, como firewalls e proxies reversos.

Dessa forma, não é mais necessário usar um certificado SSL para seu aplicativo. Você só pode querer adicionar um certificado SSL em produção se seu aplicativo se comunicar com serviços externos.

Assine a nossa newsletter

Comentários

CompartilharTweetarCompartilharCompartilharCompartilhar
direito autoral
E-mail
Compartilhar
CompartilharTweetarCompartilharCompartilharCompartilhar
direito autoral
E-mail

Link copiado para a área de transferência

Tópicos relacionados

  • Programação
  • Desenvolvimento web
  • SSL
  • JavaScript

Sobre o autor

Timilehin Omolana(12 Artigos Publicados)

Timilehin é um engenheiro de software e escritor técnico que adora explorar o mundo das tecnologias do lado do servidor e sistemas distribuídos.