18 days ago
For a Railway ASP.NET Core API exposed only by Railway HTTP networking, what supported mechanism authenticates forwarded client-IP metadata when stable ingress peer CIDRs are unavailable? Please confirm which header is overwritten, its exact semantics, and whether project private-network requests can bypass that boundary. We need spoof-resistant client-IP rate limiting without trusting all peers or a guessed CIDR.
Please provide the recommended ASP.NET Core forwarded-header trust configuration or an authoritative supported alternative. This is a platform configuration question; no secrets or logs are included.
Pinned Solution
17 days ago
Yes.
10 Replies
18 days ago
Having looked into this, the issue appears to be in your application code or configuration rather than the Railway platform itself, which puts it outside what Railway support can resolve directly.
This is exactly the kind of problem the Railway community is good at, so we'd like to open your thread as a community bounty. Railway pays a bounty to the community member who solves it, and threads like this usually get picked up quickly.
Opening it makes this entire thread public, including everything already posted. Nothing becomes public until you decide. Use the buttons below.
- Open to the community - Before you click, take a moment to edit or remove anything you'd rather not share. The thread becomes publicly visible right away.
- Keep it private and close the thread - Nothing becomes public and the thread closes.
Status changed to Awaiting User Response Railway • 18 days ago
Railway
Having looked into this, the issue appears to be in your application code or configuration rather than the Railway platform itself, which puts it outside what Railway support can resolve directly. This is exactly the kind of problem the Railway community is good at, so we'd like to open your thread as a community [bounty](https://docs.railway.com/community/bounties). Railway pays a bounty to the community member who solves it, and threads like this usually get picked up quickly. **Opening it makes this entire thread public**, including everything already posted. Nothing becomes public until you decide. Use the buttons below. - **Open to the community** - Before you click, take a moment to edit or remove anything you'd rather not share. The thread becomes publicly visible right away. - **Keep it private and close the thread** - Nothing becomes public and the thread closes.
18 days ago
Please escalate this to a human networking engineer. We’re asking about Railway’s ingress contract, not application debugging: which client-IP header is guaranteed to be overwritten, how applications should authenticate the proxy when stable CIDRs aren’t published, and whether private-network requests can bypass that boundary. We need this information to configure ASP.NET Core safely.
Status changed to Awaiting Railway Response Railway • 18 days ago
18 days ago
The community is still the best next step here. The buttons below are still live: open the thread up as a public bounty after editing out anything sensitive, or keep it private and close it.
Status changed to Awaiting User Response Railway • 18 days ago
18 days ago
This thread has been opened as a public bounty so the community can help solve it. The thread and any further activity are now visible to everyone.
Status changed to Open Railway • 18 days ago
18 days ago
You can use the X-Real-IP to get the client's IP address. That header is written at the edge, so clients can't spoof it.
https://docs.railway.com/networking/public-networking/specs-and-limits#technical-specifications
0x5b62656e5d
You can use the `X-Real-IP` to get the client's IP address. That header is written at the edge, so clients can't spoof it. https://docs.railway.com/networking/public-networking/specs-and-limits#technical-specifications
17 days ago
Thanks—our live tests confirmed that Railway overwrites X-Real-IP at the public edge. Direct private-network requests can preserve a forged value, though, and we observed multiple edge peer addresses. What supported ASP.NET Core configuration should we use to trust Railway’s edge while rejecting headers from private callers?
0x5b62656e5d
There isn't a stable CIDR range for trusting Railway's proxies.
17 days ago
Thanks for confirming. Without stable proxy CIDRs, what supported mechanism distinguishes Railway edge requests from direct private-network requests carrying a forged X-Real-IP? Is there a supported way to restrict ingress to the edge?
nasser-alsuduni0
Thanks for confirming. Without stable proxy CIDRs, what supported mechanism distinguishes Railway edge requests from direct private-network requests carrying a forged X-Real-IP? Is there a supported way to restrict ingress to the edge?
17 days ago
Outside users can’t make requests over the private network. Private networking is only available to services within the environment.
0x5b62656e5d
Outside users can’t make requests over the private network. Private networking is only available to services within the environment.
17 days ago
Under that trust model, is Railway’s supported recommendation to accept X-Real-IP from any immediate peer, trusting all services within the environment, provided no TCP proxy exposes the API?
Status changed to Solved dev • 17 days ago
