Hi all, I need the client's TCP source port: the ephemeral port the visitor's device used when it opened the connection (for example 54321), not the destination port 443. An API my app calls requires this value with every request, alongside the client IP.
Setup: Next.js App Router on the Node.js runtime, a custom production domain, Hobby plan.
What I've checked so far: The request-headers docs list x-forwarded-for, x-real-ip, x-vercel-forwarded-for and the geolocation headers. All of them carry the IP only. I logged every header a production request receives. There is also a Forwarded header, but its for= value is the bare IP with no port. No other header looks like a port.
My questions:
Is the client's source port exposed anywhere: a request header, a runtime API, or Routing Middleware?
If not, can it be enabled through a project setting, on another plan (Pro or Enterprise), or with Trusted Proxy / Verified Proxy?
Can the Vercel Firewall or Routing Middleware read the source port and pass it on as a header? Related: is a stable, dedicated incoming IP address available for a project on any plan?
If the answer is simply that the connection ends at Vercel's edge and the port is never forwarded, that would help me too, so I can plan for a different setup.
Thanks!