image

Acesse bootcamps ilimitados e +650 cursos pra sempre

75
%OFF
Article image
Roberto Junior
Roberto Junior26/11/2025 16:28
Compartilhe

NestJS com HTTPS: configurando certificados SSL

    šŸ” Introdução

    O uso de HTTPS em aplicações NestJS garante comunicação segura, pois utiliza certificados SSL para criptografar o trÔfego.

    A configuração é simples e pode ser aplicada tanto localmente quanto em produção, bastando carregar as chaves e iniciar o servidor com suporte a TLS.

    VocĆŖ pode usar certificados gerados (autoassinados) pelo mkcert para ambientes locais (exclusivamente testes).

    Para produção, é indicado utilizar certificados fornecidos por autoridades confiÔveis.

    A seguir, seguem trĆŖs exemplos simples:

    āœ”ļø Exemplo 1 — mkcert + Nginx

    1. Instalar o mkcert

    sudo apt install libnss3-tools
    brew install mkcert
    mkcert -install
    

    2. Gerar certificados

    mkcert localhost
    

    Isso cria localhost.pem e localhost-key.pem.

    3. Configurar Nginx

    server {
    listen 443 ssl;
    
    ssl_certificate /etc/nginx/certs/localhost.pem;
    ssl_certificate_key /etc/nginx/certs/localhost-key.pem;
    
    location / {
      proxy_pass http://localhost:3000;
    }
    }
    

    4. NestJS interno (HTTP)

    await app.listen(3000);
    

    āœ”ļø Exemplo 2 — Npm

    1. Instalar mkcert (Linux/macOS/Windows)

    npm install -g mkcert
    

    2. Criar certificados

    Criar autoridade certificadora (CA):

    mkcert create-ca
    

    Criar certificado:

    mkcert create-cert
    

    3. Usar no NestJS

    import fs from 'fs';
    import { NestFactory } from '@nestjs/core';
    import { AppModule } from './app.module';
    
    async function bootstrap() {
    const app = await NestFactory.create(AppModule, {
      httpsOptions: {
        key: fs.readFileSync('./secrets/cert.key'),
        cert: fs.readFileSync('./secrets/cert.crt'),
      },
    });
    
    await app.listen(3000);
    }
    
    bootstrap();
    

    āœ”ļø Exemplo 3 — Sem mkcert (Gerando certificados com OpenSSL)

    1. Instalar OpenSSL

    sudo apt install openssl
    brew install openssl
    

    2. Gerar chave e certificado

    openssl req -x509 -nodes -days 365 \
    -newkey rsa:2048 -keyout server.key -out server.crt
    

    3. Usar no NestJS

    import fs from 'fs';
    import { NestFactory } from '@nestjs/core';
    import { AppModule } from './app.module';
    
    async function bootstrap() {
    const app = await NestFactory.create(AppModule, {
      httpsOptions: {
        key: fs.readFileSync('server.key'),
        cert: fs.readFileSync('server.crt'),
      },
    });
    
    await app.listen(3000);
    }
    
    bootstrap();
    

    4. Ajustes para produção

    • Utilize certificados vĆ”lidos de autoridades como Let's Encrypt, ZeroSSL ou Cloudflare.
    • Evite deixar certificados no repositório; use variĆ”veis de ambiente.
    • Certificados devem ser renovados periodicamente.
    • Em HTTPS real, o navegador nĆ£o exibirĆ” avisos de seguranƧa.
    • Pode ser necessĆ”rio configurar firewall ou reverse proxy.

    5. Testando sua API HTTPS

    • Acesse via: https://localhost:3000
    • Certificados autoassinados exibirĆ£o aviso — Ć© normal.
    • Teste rotas com Postman ou Insomnia.
    • Verifique se o cadeado aparece em produção.
    • Confirme os cabeƧalhos TLS na resposta.

    āš’ļø Ferramentas de produção

    • Imagens geradas por: I.A. ChatGPT
    • ConteĆŗdo gerado com apoio de I. A : ChatGPT
    • Autor/ RevisĆ£o Humana: Roberto Butzke Junior

    #NestJS #HTTPS #SSL

    Compartilhe
    Recomendados para vocĆŖ
    CI&T - Backend com Java & AWS
    Nexa - Machine Learning e GenAI na PrƔtica
    CAIXA - Inteligência Artificial na PrÔtica
    ComentƔrios (0)