Чтобы использовать PortPreview с приложением Express.js, прослушайте 0.0.0.0 (или app.listen(PORT) без привязки только к локальному хосту), запустите npx portpreview PORT и зарегистрируйте URL-адрес HTTPS для веб-перехватчиков, обратных вызовов OAuth и демонстраций API.
Почему туннельный Express
Express остается уровнем HTTP по умолчанию для Node API и BFF. Поставщикам платежей, веб-перехватчикам CRM и серверам OAuth требуется общедоступная конечная точка HTTPS, пока вы локально отлаживаете порядок промежуточного программного обеспечения и анализируете необработанное тело.
<ул>express.raw() на пути веб-перехватчиков перед express.json(). Подробности в Express webhook local testing.Быстрый старт
<ол>node server.js или npm run dev на порту 3000.npx portpreview 3000.GET https://your-tunnel.portpreview.dev/health.POST https://your-tunnel.portpreview.dev/api/webhooks/....Минимальный экспресс-сервер
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 прослушивает все интерфейсы. Если вы привязываетесь явно, используйте '0.0.0.0', чтобы процесс туннеля мог пересылать трафик.
Заголовки доверенных прокси
За PortPreview ваше приложение видит X-Forwarded-Proto: https. Включите доверенный прокси-сервер при создании абсолютных URL-адресов или безопасных файлов cookie:
app.set('trust proxy', 1);
CORS для разделенных интерфейсов
Если сервер разработки React или Vue на другом порту вызывает ваш Express API через отдельные туннели, настройте CORS явно:
import cors from 'cors';
app.use(cors({ origin: process.env.FRONTEND_TUNNEL_URL }));
Контрольный список безопасности
<ул>Express documentation описывает промежуточное программное обеспечение и маршрутизацию. Start PortPreview free.
