ESPAÇO PUBLICITÁRIO DISPONÍVEL · FALE CONOSCO

Configurando Secrets de Ambiente, PostgreSQL Persistente e Domínios Personalizados no Replit Deployments para Produção

365Finds Editorial
11.430 artigos Wiki catalogados

Use o 365 Wiki com sua IA

Copie o prompt abaixo, cole na IA que você já usa e faça sua pergunta.

Baixar o Skill completo

Experimente primeiro com o prompt. Se você usa o 365 Wiki com frequência, instale o Skill completo do 365Wiki para não precisar colá-lo novamente. Se não usa uma IA específica, as versões web do Gemini ou Microsoft Copilot também servem.

A transição de um protótipo interativo para uma aplicação web em produção exige o alinhamento de três pilares de infraestrutura fundamentais: gestão e isolamento de credenciais sensíveis, persistência confiável em banco de dados relacional e roteamento seguro sob domínio próprio com certificados TLS/SSL totalmente gerenciados. No ecossistema do Replit, esse processo é unificado por meio do Replit Deployments (acessível pela ferramenta Publishing no editor). A plataforma combina provisionamento de contêineres, PostgreSQL serverless, cofre de chaves e automação de certificados DNS/TLS em um único fluxo de entrega contínua.

Este guia orienta desenvolvedores na configuração de variáveis de ambiente seguras (Deployment Secrets), na estruturação de instâncias persistentes do PostgreSQL com conexão SSL resiliente e no apontamento correto de domínios personalizados com renovação contínua de certificados.


1. Escolhendo a Arquitetura de Deploy Correta

Antes de gerenciar variáveis e bancos de dados, o desenvolvedor deve selecionar o modelo de implantação ideal para a sua carga de trabalho em Publishing → Adjust settings → Deployment type:

Para aplicações comerciais convencionais que leem e escrevem em bancos de dados relacionais e demandam proteção de credenciais, o Autoscale ou a Reserved VM é a escolha recomendada.


2. Gerenciando Variáveis de Ambiente e Secrets em Produção

Erros comuns de implantação costumam envolver vazamento de chaves privadas ou conflito de credenciais entre os ambientes de teste e produção. O Replit resolve essa questão separando o ciclo de vida das variáveis em dois escopos rigorosamente isolados: Development Secrets e Deployment Secrets.

Entendendo os Escopos de Segredos

Passo a Passo de Configuração

  1. Separação de Chaves Sensíveis e Configurações: Separe credenciais de serviços externos (chaves de API da Stripe, tokens da OpenAI, segredos de autenticação OAuth) de valores normais. Credenciais críticas devem ser armazenadas como Secrets (com criptografia AES-256 em repouso e transmissão via TLS), enquanto parâmetros não sigilosos, como LOG_LEVEL=info ou URLs públicas de CDN, podem ser incluídos na seção Configurations.
  2. Definição em Deployment Secrets: Abra a ferramenta Publishing, clique em Adjust settings e localize a seção Deployment secrets. Insira ou atualize os pares de chave e valor necessários para o ambiente de produção.
  3. Republicação Necessária (Re-publish): Após atualizar as variáveis de deploy, clique no botão Publish para recompilar o contêiner e ativar as novas variáveis em produção.

Consumindo as Variáveis no Código

Os segredos são injetados como variáveis padrão de ambiente do sistema operacional. Nunca insira credenciais de fallback no controle de versão.

Exemplo em Node.js / TypeScript:

const stripeKey = process.env.STRIPE_SECRET_KEY;
if (!stripeKey) {
  throw new Error("STRIPE_SECRET_KEY não foi encontrada no ambiente de produção");
}

Exemplo em Python:

import os

stripe_key = os.environ.get("STRIPE_SECRET_KEY")
if not stripe_key:
    raise RuntimeError("STRIPE_SECRET_KEY não foi encontrada no ambiente de produção")

Atenção: Variáveis geradas exclusivamente para testes no editor (como REPLIT_DEV_DOMAIN) não existem no ambiente de produção. Para montar URLs de callback ou redirecionamento, utilize seu domínio personalizado ou defina variáveis de ambiente customizadas.


3. Configuração do PostgreSQL Persistente em Produção

Todo Replit App dispõe de suporte integrado ao PostgreSQL, mas as infraestruturas de desenvolvimento e produção funcionam com mecanismos distintos.

Arquitetura: Desenvolvimento (Helium) vs. Produção (Neon)

Gerenciamento de DATABASE_URL

O Replit gerencia a variável DATABASE_URL de ponta a ponta:

Tratamento Condicional de SSL para Produção

Tentar forçar conexões com SSL no ambiente de desenvolvimento causará o erro The server does not support SSL connections. Por outro lado, desativar o SSL em produção impedirá a conexão com o banco Neon. A solução padrão consiste em aplicar o SSL condicionalmente conforme a variável NODE_ENV:

Exemplo com o driver pg (Node.js):

import { Pool } from "pg";

const isProduction = process.env.NODE_ENV === "production";

export const pool = new Pool({
  connectionString: process.env.DATABASE_URL,
  ssl: isProduction ? { rejectUnauthorized: false } : false,
});

Exemplo com Drizzle ORM:

import { drizzle } from "drizzle-orm/node-postgres";
import { Pool } from "pg";

const pool = new Pool({
  connectionString: process.env.DATABASE_URL,
  ssl: process.env.NODE_ENV === "production" ? { rejectUnauthorized: false } : false,
});

export const db = drizzle(pool);

Otimização com Pool de Conexões (Connection Pooling)

Sob o modelo Autoscale, picos de requisições criam réplicas instantâneas da aplicação. Se cada contêiner abrir dezenas de conexões diretas ao banco, o limite de conexões (max_connections) do PostgreSQL será atingido rapidamente.

  1. Abra a ferramenta Database no editor do Replit para verificar os dados do banco de produção.
  2. O Neon oferece um endpoint com pool de conexões ativo, contendo o sufixo -pooler no host (por exemplo, ep-xyz-pooler.region.neon.tech).
  3. Utilize o endpoint pooler para o tráfego regular de consultas da aplicação web, reservando a conexão direta não agregada apenas para migrações de esquema que demandem travas no nível de sessão.

Migrações Seguras e Deployment Previews

Ao realizar alterações de estrutura (remoção de colunas, modificação de tipos de dados ou adição de campos obrigatórios sem valor padrão):


4. Apontamento de Domínios Personalizados e Certificados SSL/TLS

As aplicações publicadas no Replit recebem um subdomínio gratuito no formato *.replit.app. No entanto, aplicações comerciais em produção exigem o uso de um domínio próprio (tanto o domínio raiz quanto subdomínios como www).

O Replit automatiza a emissão e renovação periódica de certificados TLS/SSL (via Let's Encrypt / Google Trust) por meio de validação de DNS. A configuração incorreta desses registros pode impedir a emissão de novos certificados ou provocar falhas durante a renovação.

Configuração Passo a Passo

1. Inserir o domínio na ferramenta Publishing

  1. Acesse a ferramenta Publishing e selecione a aba Domains.
  2. Digite o domínio personalizado registrado (por exemplo, example.com).
  3. O Replit exibirá o endereço IP de destino para o registro A e uma chave de validação para o registro TXT.

2. Configurar os registros DNS no provedor

Acesse o painel do seu registrador de domínio ou servidor DNS (Cloudflare, Registro.br, Namecheap, GoDaddy, Route 53) e crie os seguintes registros:

Tipo de RegistroHostname / NomeValor / DestinoFinalidade
A@ (ou raiz)[Endereço IP exibido pelo Replit]Direciona o tráfego web para os servidores de produção
TXT@ (ou raiz)replit-verify=xxxxxxxx...Comprova a titularidade e valida a emissão/renovação de TLS

3. Cuidados Essenciais com o DNS

Subdomínios e Redirecionamento Canônico de www

Na infraestrutura do Replit, o domínio raiz e os subdomínios são entidades tratadas separadamente:


5. Checklist de Prontidão para Produção

Antes de liberar sua aplicação para os usuários finais, realize a seguinte validação geral:

  1. Auditoria de Variáveis e Segredos:
    • Certifique-se de que todas as chaves de API necessárias estão presentes em Publishing → Adjust settings → Deployment secrets.
    • Garanta que nenhuma chave privada esteja exposta em arquivos do repositório.
    • Conclua uma nova publicação (Re-publish) para garantir que as variáveis estejam ativas nos contêineres.
  2. Conexão Segura com o Banco de Dados:
    • Valide se o driver do PostgreSQL ativa o SSL condicionalmente quando NODE_ENV === "production".
    • Verifique se a aplicação consome a variável DATABASE_URL injetada automaticamente.
    • Confirme que as consultas e migrações são executadas sem erros de conexão ou exaustão de conexões simultâneas.
  3. Domínios e Validação Criptográfica:
    • Verifique se o domínio configurado apresenta a etiqueta verde Verified na aba Domains.
    • Assegure que o registro replit-verify TXT continua registrado na tabela de DNS do provedor.
    • Teste a abertura do site em computadores e celulares para confirmar o carregamento com HTTPS válido.
  4. Monitoramento e Escolha de Região:
    • Ative a opção de monitoramento (Monitoring tools) no painel Publishing para receber notificações imediatas em caso de instabilidade ou erros HTTP.
    • Confira a região de hospedagem (Deployment geography) para garantir menor latência aos seus usuários principais (a região fica fixada após a publicação inicial).

Ao separar com rigor os segredos de desenvolvimento e produção, parametrizar o suporte a SSL nas conexões do PostgreSQL e manter os registros de validação DNS permanentes, sua aplicação no Replit Deployments terá uma base de produção segura, estável e escalável.


Referências