13 days ago
Hello Railway team,
We need guidance on the officially supported proxy trust configuration for an ASP.NET Core 8 service behind Railway.
Public service URL:
https://joinpia-mobile-api-production.up.railway.app
Our latest verification found:
- Public HTTPS GET /health returns HTTP 200.
- Login through the public HTTPS URL returns HTTP 400: "HTTPS is required."
- An internal login/context test succeeds when X-Forwarded-Proto: https is supplied through a trusted loopback connection.
This suggests that public HTTPS requests reach the application as HTTP and the forwarded protocol is not being accepted under the current trusted proxy configuration.
What is Railway’s officially supported configuration for safely recognizing the original HTTPS scheme in ASP.NET Core?
Please clarify:
- How the application should identify and trust Railway’s ingress proxies, including any supported stable proxy addresses or ranges.
- Whether Railway overwrites client-supplied X-Forwarded-Proto and what proxy isolation guarantees apply.
- The recommended ForwardLimit, or the supported alternative if stable proxy addresses or ranges are unavailable.
We are seeking a supported configuration that preserves HTTPS enforcement, rather than an unofficial broad-trust or trust-all workaround.
Thank you.
Pinned Solution
13 days ago
- All proxies should be trusted. There isn't a documented CIDR range.
- Railway writes
X-Forwarded-Protoat the edge (valuehttps). - None.
https://docs.railway.com/networking/public-networking/specs-and-limits#technical-specifications
1 Replies
13 days ago
This thread has been opened as a bounty so the community can help solve it.
Status changed to Open Railway • 13 days ago
13 days ago
- All proxies should be trusted. There isn't a documented CIDR range.
- Railway writes
X-Forwarded-Protoat the edge (valuehttps). - None.
https://docs.railway.com/networking/public-networking/specs-and-limits#technical-specifications
Status changed to Solved brody • 12 days ago