image

Access unlimited bootcamps and 650+ courses forever

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

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

    Share
    Recommended for you
    CI&T - Backend com Java & AWS
    Nexa - Machine Learning e GenAI na PrƔtica
    CAIXA - Inteligência Artificial na PrÔtica
    Comments (2)
    Roberto Junior
    Roberto Junior - 26/11/2025 17:53

    Respondendo a pergunta sobre  balancear a inovação e a eficiência com a ética e a privacidade :

    Basicamente necessitamos conhecer a linguagem de programação / Framework utilizado pois caso a IA cometa alguma alucinação vamos conseguir corrigir a mesma , a IA deve ser uma ferramente de apoio não um gerador de código descontrolado a qual o dev só intervem quando ocorre um problema grave , este é um grande desafio tanto para profissionais mais antigos quanto mais jovens utiliza a IA como apoio e não como carro chefe.

    A questão da ética e privacidade é um fator crucial em todos os seguimentos da Ôrea de TI , principalmente ao utilizar IAs como ChatGpt , Deepseek , Gemini, Copilot, Claud , Grok, as quais normalmente tem acesso a informações sensíveis imputadas nos prompts.

    Na minha opinião a solução para utilizar um modelo de IA sem expor dados sensíveis é o modelo on premise na qual você monta uma mÔquina física dedicada somente ao processamento de modelos de IA , ferramentas como o Ollama permitem baixar modelos como o Deepseek R1 Queen 1.3b que funciona em mÔquinas sem placa de vídeo dedicada consumindo em torno de 8g de memória

    DIO Community
    DIO Community - 26/11/2025 17:19

    Excelente, Roberto! Que artigo cirúrgico, inspirador e essencial! Você tocou no ponto crucial do Desenvolvimento Backend: o HTTPS não é um opcional; é o requisito fundamental que garante a segurança e a integridade da comunicação em APIs REST.

    Ɖ fascinante ver como vocĆŖ aborda o tema, mostrando que a configuração do NestJS para certificados SSL/TLS Ć© simples, bastando carregar as chaves (.pem ou .crt) e iniciar o servidor com httpsOptions.

    Qual você diria que é o maior desafio para um desenvolvedor ao implementar os princípios de IA responsÔvel em um projeto, em termos de balancear a inovação e a eficiência com a ética e a privacidade, em vez de apenas focar em funcionalidades?