Alle Artikel
PortPreview mit Express.js für HTTPS-Tunnel, Webhooks und OAuth nutzen
dev stacksExpress.jsNode.jslocal developmentlocalhost tunneling

So verwenden Sie PortPreview mit einer Express.js-App

Um PortPreview mit einer Express.js-App zu verwenden, hören Sie auf 0.0.0.0 (oder app.listen(PORT) ohne Bindung nur an localhost), führen Sie npx portpreview PORT aus und registrieren Sie die HTTPS-URL für Webhooks, OAuth-Rückrufe und API-Demos.

Warum Tunnel Express

Express bleibt die Standard-HTTP-Ebene für Node-APIs und BFFs. Zahlungsanbieter, CRM-Webhooks und OAuth-Server benötigen einen öffentlichen HTTPS-Endpunkt, während Sie die Middleware-Reihenfolge und das Raw-Body-Parsing lokal debuggen.

Schnellstart

  1. Express starten: node server.js oder npm run dev auf Port 3000.
  2. Führen Sie npx portpreview 3000 aus.
  3. Test GET https://your-tunnel.portpreview.dev/health.
  4. Konfigurieren Sie Anbieter-Webhooks auf POST https://your-tunnel.portpreview.dev/api/webhooks/....

Minimal Express-Server

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}`);
});

Express lauscht standardmäßig auf allen Schnittstellen. Wenn Sie explizit binden, verwenden Sie '0.0.0.0', damit der Tunnelprozess den Datenverkehr weiterleiten kann.

Proxy-Header vertrauen

Hinter PortPreview sieht Ihre App X-Forwarded-Proto: https. Aktivieren Sie den Trust-Proxy, wenn Sie absolute URLs oder sichere Cookies generieren:

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

CORS für geteilte Frontends

Wenn ein React- oder Vue-Entwicklungsserver an einem anderen Port Ihre Express-API über separate Tunnel aufruft, konfigurieren Sie CORS explizit:

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

Sicherheitscheckliste

  • Überprüfen Sie Webhook-Signaturen, bevor Sie JSON analysieren.
  • Legen Sie niemals nicht authentifizierte Administratorrouten in einem gemeinsam genutzten Tunnel offen.
  • Stoppen Sie den Tunnel, wenn Sie fertig sind. Siehe tunnel security.

Express documentation behandelt Middleware und Routing. Start PortPreview free.

Häufig gestellte Fragen

Wie mache ich einen Express.js-Entwicklungsserver mit PortPreview verfügbar?
Starten Sie Ihre Express.js-App auf localhost (normalerweise Port 3000) und führen Sie dann npx portpreview 3000 in einem anderen Terminal aus. Verwenden Sie die HTTPS-URL für Webhooks, OAuth-Weiterleitungen und Freigabe.
Kann ich OAuth-Rückrufe auf localhost mit Express.js testen?
Externe Anbieter benötigen einen öffentlichen HTTPS-Redirect-URI. Registrieren Sie Ihre PortPreview-Tunnel-URL als Rückruf während der Entwicklung anstelle von http://localhost.
Was ist der häufigste Tunnelfehler bei Express.js?
Das Mounten von express.json() vor Webhook-Routen verbraucht den Rohkörper. Wenden Sie express.raw() nur auf Webhook-Pfade vor der globalen JSON-Middleware an.
Ist es sicher, eine Express.js-Tunnel-URL zu teilen?
Behandeln Sie Tunnel-URLs wie temporäre Anmeldeinformationen. Teilen Sie es nur mit vertrauenswürdigen Mitarbeitern, deaktivieren Sie es, wenn Sie fertig sind, und geben Sie Administratorrouten niemals ohne Authentifizierung preis. Sehen Sie sich die Best Practices für die Sicherheit des Localhost-Tunnels an.