Todos os artigos
Usar PortPreview com Express.js para túneis HTTPS, webhooks e OAuth
dev stacksExpress.jsNode.jslocal developmentlocalhost tunneling

Como usar PortPreview com um aplicativo Express.js

Para usar PortPreview com um aplicativo Express.js, ouça 0.0.0.0 (ou app.listen(PORT) sem ligação apenas ao host local), execute npx portpreview PORT e registre o URL HTTPS para webhooks, retornos de chamada OAuth e demonstrações de API.

Por que túnel Express

Express continua sendo a camada HTTP padrão para Node APIs e BFFs. Provedores de pagamento, webhooks de CRM e servidores OAuth precisam de um endpoint HTTPS público enquanto você depura a ordem do middleware e a análise do corpo bruto localmente.

Início rápido

  1. Inicie o Express: node server.js ou npm run dev na porta 3000.
  2. Execute npx portpreview 3000.
  3. Teste GET https://your-tunnel.portpreview.dev/health.
  4. Configure webhooks do provedor para POST https://your-tunnel.portpreview.dev/api/webhooks/....

Servidor Expresso Mínimo

import express from 'express';

const app = express();
const PORT = process.env.PORT ?? 3000;

app.get('/health', (_req, res) => res.json({ ok: true }));

app.listen(PORT, () => {
  console.log(`Listening on http://localhost:${PORT}`);
});

O Express escuta em todas as interfaces por padrão. Se você vincular explicitamente, use '0.0.0.0' para que o processo de encapsulamento possa encaminhar o tráfego.

Confiar cabeçalhos de proxy

Atrás do PortPreview seu aplicativo vê X-Forwarded-Proto: https. Ative o proxy confiável ao gerar URLs absolutos ou cookies seguros:

app.set('trust proxy', 1);

CORS para interfaces divididas

Se um servidor de desenvolvimento React ou Vue em outra porta chamar sua API Express por meio de túneis separados, configure o CORS explicitamente:

import cors from 'cors';
app.use(cors({ origin: process.env.FRONTEND_TUNNEL_URL }));

Lista de verificação de segurança

  • Verifique as assinaturas do webhook antes de analisar o JSON.
  • Nunca exponha rotas administrativas não autenticadas em um túnel compartilhado.
  • Pare o túnel quando terminar. Consulte tunnel security.

Express documentation cobre middleware e roteamento. Start PortPreview free.

Perguntas frequentes

Como exponho um servidor de desenvolvimento Express.js com PortPreview?
Inicie seu aplicativo Express.js no localhost (geralmente porta 3000) e execute npx portpreview 3000 em outro terminal. Use o URL HTTPS para webhooks, redirecionamentos OAuth e compartilhamento.
Posso testar retornos de chamada OAuth em localhost com Express.js?
Os provedores externos exigem um URI de redirecionamento HTTPS público. Registre o URL do túnel PortPreview como retorno de chamada durante o desenvolvimento, em vez de http://localhost.
Qual é o erro mais comum de tunelamento do Express.js?
Montar express.json() antes das rotas do webhook consumir o corpo bruto. Aplique express.raw() apenas em caminhos de webhook antes do middleware JSON global.
É seguro compartilhar um URL de túnel Express.js?
Trate URLs de túnel como credenciais temporárias. Compartilhe apenas com colaboradores confiáveis, desative quando terminar e nunca exponha rotas administrativas sem autenticação. Consulte as práticas recomendadas de segurança do túnel localhost.