N
Novu4w ago
Gurami

Studio HTTPS → Localhost HTTP blocked (PNA/Mixed Content) despite Next.js proxy CORS

- Issue - From Novu Studio, calls to http://localhost:8004/api/novu are blocked with “unknown address space” / net::ERR_FAILED (health-check and discover). Looks like HTTPS→HTTP mixed-content/Private Network blocking before CORS. - Environment - macOS 15, Node 22.x, Next.js 16.0.1, @novu/framework 2.7.1, @novu/nextjs 3.11.0 - Setup - App Router endpoint at /api/novu via serve({ workflows }) - Root proxy.ts (Next.js v16 convention) with matcher ['/api/novu', '/api/novu/:path*'] - CORS allowlist includes eu.dashboard-v2.novu.co, dashboard-v2.novu.co, dashboard-v0.novu.co - Preflight OPTIONS returns 204 with Access-Control-Allow-Private-Network: true - Scripts
{
"dev:notification-bridge": "next dev --port=8004",
"dev:notification-studio": "novu dev -d https://eu.dashboard-v2.novu.co -p 8004",
}
{
"dev:notification-bridge": "next dev --port=8004",
"dev:notification-studio": "novu dev -d https://eu.dashboard-v2.novu.co -p 8004",
}
- What works - Direct GET: http://localhost:8004/api/novu?action=health-check{ "status": "ok", "sdkVersion": "2.7.1", ... } - Curl preflight succeeds (204, echoes origin, includes PNA) - What fails - From Studio (often origin https://dashboard-v0.novu.co), requests to localhost are blocked before CORS is applied - Tried - Moved to proxy.ts, expanded allowlist, verified preflight/PNA - Ran npx novu@latest dev --port 8004 --route /api/novu and opened the printed link; still sometimes lands on v0-origin and remains blocked
No description
No description
7 Replies
Pawan Jain
Pawan Jain4w ago
Gurami

Could you please share the browser details?
Gurami
GuramiOP3w ago
It’s chrome latest version on mac
Pawan Jain
Pawan Jain3w ago
@Gurami Could you please check if you get the same error on using 4000 port as bridge application port?
Gurami
GuramiOP3w ago
Tried on port 4000, but got exact same error. Chrome version is: 142.0.7444.135 (Official Build) (arm64)
Pawan Jain
Pawan Jain3w ago
Apologies for back and forth on this. Could you please check with using below script
dev:notification-studio": "novu dev -d https://eu.dashboard.novu.co -p 8004"
dev:notification-studio": "novu dev -d https://eu.dashboard.novu.co -p 8004"
Gurami
GuramiOP3w ago
I tried but I'm getting exactly the same result
Pawan Jain
Pawan Jain2w ago
@Gurami DMed you

Did you find this page helpful?