2 months ago
We are getting 429 errors on our app (hosted on a Railway Pro plan). These seem to originate from the railway-edge server, which appears to be enforcing Ratelimit-Policy 100;w=900. This seems very restrictive for our particular use case - are we able to raise this, or is there anything we can do to avoid it?
8 Replies
2 months ago
Hmm, this account doesn't seem to have any Pro workspaces linked to it. Only a trial one.
Do you have a link to that project running into those rate limits?
Are the rate limits in requests to your hosted project or to Railway's API?
Status changed to Awaiting User Response Railway • 2 months ago
2 months ago
This is the project: https://railway.com/project/6c72e4bd-d229-454a-8f88-634965672fa1. The rate limiting is in requests to the hosted project - we aren't making any calls to Railway's API.
Status changed to Awaiting Railway Response Railway • 2 months ago
Status changed to Awaiting User Response Railway • 2 months ago
2 months ago
Peak per client would probably be about 10-20 RPS. Across the entire server, I'd guess our current max is around 1000 RPS.
Status changed to Awaiting Railway Response Railway • 2 months ago
2 months ago
Hey Christian,
Our edge network doesn't set rate limit headers like Ratelimit-Policy or return 429s in the way you're describing. If you were hitting our abuse-level limits (you aren't), we'd drop packets entirely rather than respond with headers and status codes.
The Ratelimit-Policy 100;w=900 header and 429 responses you're seeing are likely being set by something in your application stack or a third-party proxy sitting in front of your service (like Cloudflare, nginx, or similar). It might be worth checking your app's middleware, any reverse proxy configs, or rate-limiting libraries you might have installed.
If you can share more details about your stack or any proxies in the request path, that would help the community help you.
Best,
Brody
Status changed to Awaiting User Response Railway • 2 months ago
2 months ago
Interesting, the response headers alongside Ratelimit-Policy are coming through as follows, which seem to indicate it's originating from Railway, but maybe I'm misinterpreting?:
server railway-edge
x-powered-by Express
x-railway-edge railway/us-west2
x-railway-request-id vgfPALkSqqpWi8X-9nXA
Status changed to Awaiting Railway Response Railway • 2 months ago
2 months ago
The server: railway-edge and x-railway-edge headers just mean your request went through our edge proxy, but that's not where the 429 is coming from. The x-powered-by: Express header tells us the response is actually coming from your Express app - our edge proxy is just passing through whatever your application sends back.
I'd check your dependencies and application code for any rate-limiting middleware you might have installed. Some frameworks also include rate limiting by default, so it's worth checking your boilerplate or any middleware stack you're using.
Status changed to Awaiting User Response Railway • 2 months ago
2 months ago
Ah got it, thanks. Appreciate the help!
Status changed to Solved cfrpn • 2 months ago