Should I be able to run `pages dev` on port 80?

When I try to wrangler pages dev .svelte-kit/cloudflare --port 80 I get the following error:
Library/pnpm/global/5/.pnpm/wrangler@3.19.0/node_modules/wrangler/wrangler-dist/cli.js:29374
throw a;
^

MiniflareCoreError [ERR_RUNTIME_FAILURE]: The Workers runtime failed to start. There is likely additional logging output above.
at #assembleAndUpdateConfig (/Users/billyclark/Library/pnpm/global/5/.pnpm/miniflare@3.20231030.3/node_modules/miniflare/dist/src/index.js:8889:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Mutex.runWith (/Users/billyclark/Library/pnpm/global/5/.pnpm/miniflare@3.20231030.3/node_modules/miniflare/dist/src/index.js:3861:16) {
code: 'ERR_RUNTIME_FAILURE',
cause: undefined
}

Node.js v20.0.0
Library/pnpm/global/5/.pnpm/wrangler@3.19.0/node_modules/wrangler/wrangler-dist/cli.js:29374
throw a;
^

MiniflareCoreError [ERR_RUNTIME_FAILURE]: The Workers runtime failed to start. There is likely additional logging output above.
at #assembleAndUpdateConfig (/Users/billyclark/Library/pnpm/global/5/.pnpm/miniflare@3.20231030.3/node_modules/miniflare/dist/src/index.js:8889:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Mutex.runWith (/Users/billyclark/Library/pnpm/global/5/.pnpm/miniflare@3.20231030.3/node_modules/miniflare/dist/src/index.js:3861:16) {
code: 'ERR_RUNTIME_FAILURE',
cause: undefined
}

Node.js v20.0.0
Did I miss something in the docs about this or is this a bug? I did see this https://github.com/cloudflare/workers-sdk/issues/3676 but don't see triage or acknowledgement. Thanks!
GitHub
🐛 BUG: Uncaught exception when binding pages dev to port 80 or 44...
Which Cloudflare product(s) does this pertain to? Wrangler core What version(s) of the tool(s) are you using? 3.3.0 What version of Node are you using? 20.5.0 What operating system are you using? M...
14 Replies
Hello, I’m Allie!
Just to make sure, do you have anything else using port 80? Sometimes there is a sneaky process using it, so then wrangler will fail to connect
Billy
Billy6mo ago
I definitely don't, I checked
Hello, I’m Allie!
Was that with a browser, or via a networking tool?
Billy
Billy6mo ago
I can double-check another way, I'll run vite on 80 via the terminal well... lemme check my ports in use again, vite just puked too
> vite dev --port 80


error when starting dev server:
Error: listen EACCES: permission denied ::1:80
at Server.setupListenHandle [as _listen2] (node:net:1795:21)
at listenInCluster (node:net:1860:12)
at GetAddrInfoReqWrap.doListen [as callback] (node:net:2009:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:8)
 ELIFECYCLE  Command failed with exit code 1.
> vite dev --port 80


error when starting dev server:
Error: listen EACCES: permission denied ::1:80
at Server.setupListenHandle [as _listen2] (node:net:1795:21)
at listenInCluster (node:net:1860:12)
at GetAddrInfoReqWrap.doListen [as callback] (node:net:2009:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:8)
 ELIFECYCLE  Command failed with exit code 1.
Hello, I’m Allie!
Turns out an old wangler process is still holding on to the port…
Billy
Billy6mo ago
lsof -i -P is not showing anything listening to 80... 🤔 I'll check for any old wrangler processes
Hello, I’m Allie!
Wut Yeah, I was just joking on that one, but idk, it has happened before
Billy
Billy6mo ago
oh 😆 ok... well, there weren't any zombied wranglers
Hello, I’m Allie!
At a guess, maybe your system prevents you to use that port for some reason?
Billy
Billy6mo ago
good thought, I'll dig around for that, I'm on mac
Cyb3r-Jak3
Cyb3r-Jak36mo ago
80 is typically a reserved port (anything under 1024) and requires root/admin access to run.
Hello, I’m Allie!
Have I borked something then? I’m on Mac too, but I don’t think it has ever asked for admin to start on :80
Cyb3r-Jak3
Cyb3r-Jak36mo ago
Mac might be different. I know on linux you need it or editing the port settings to allow non-root Also depends on the program, stuff like docker runs as root so it doesn't need to ask to use the port
Billy
Billy6mo ago
oh wow... I had to sudo vite dev --port 80... sheesh low ports are not allowed by default on macOS I was digging around when you posted this, you're right I'll drop this info in the bug I referenced, thanks