Pour utiliser PortPreview avec une application Express.js, écoutez sur 0.0.0.0 (ou app.listen(PORT) sans liaison avec localhost uniquement), exécutez npx portpreview PORT et enregistrez l'URL HTTPS pour les webhooks, les rappels OAuth et les démos d'API.
Pourquoi tunnel Express
Express reste la couche HTTP par défaut pour les API Node et les BFF. Les fournisseurs de paiement, les webhooks CRM et les serveurs OAuth ont besoin d'un point de terminaison HTTPS public pendant que vous déboguez localement l'ordre du middleware et l'analyse du corps brut.
- Webhooks. Montez
express.raw()sur les chemins de webhook avantexpress.json(). Détails dans Express webhook local testing. - OAuth. Définissez les URI de redirection vers l'origine de votre tunnel. Voir OAuth callback testing.
- Partage d'API. Laissez les équipes mobiles ou front-end accéder à votre API locale sans VPN. Voir share local dev server.
Démarrage rapide
- Démarrez Express :
node server.jsounpm run devsur le port 3000. - Exécutez
npx portpreview 3000. - Testez
GET https://your-tunnel.portpreview.dev/health. - Configurez les webhooks du fournisseur sur
POST https://your-tunnel.portpreview.dev/api/webhooks/....
Serveur Minimal Express
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 écoute sur toutes les interfaces par défaut. Si vous effectuez une liaison explicite, utilisez '0.0.0.0' pour que le processus du tunnel puisse transférer le trafic.
En-têtes de proxy de confiance
Derrière PortPreview, votre application voit X-Forwarded-Proto: https. Activez le proxy de confiance lors de la génération d'URL absolues ou de cookies sécurisés :
app.set('trust proxy', 1);
CORS pour les frontends divisés
Si un serveur de développement React ou Vue sur un autre port appelle votre API Express via des tunnels séparés, configurez CORS explicitement :
import cors from 'cors';
app.use(cors({ origin: process.env.FRONTEND_TUNNEL_URL }));
Liste de contrôle de sécurité
- Vérifiez les signatures des webhooks avant d'analyser JSON.
- N'exposez jamais les routes d'administration non authentifiées sur un tunnel partagé.
- Arrêtez le tunnel lorsque vous avez terminé. Voir tunnel security.
Express documentation couvre le middleware et le routage. Start PortPreview free.
