v2 API rate limits self-hosted installs by IP even with billing disabled
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 1/5
- Temps estimé
- Moins d'une heure
- Accessibilité débutants
- 75/100
- Type d'issue
- Documentation
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- docker-compose, typescript
- Domaine
- backend
Piste de recherche
Lisez la section “Limits” de Environment Variables dans la documentation du self-hosting et comparez-la avec apps/sim/lib/api/server/routes/v2-json-route.ts, où V2_PREAUTH_IP_LIMIT est défini. L’issue suggère de documenter au minimum la limite fixe par IP ; mettre à jour la section “Limits” pour expliquer son comportement dans les installations self-hosted constitue un premier résultat clair. Les éventuelles modifications du comportement des variables d’environnement ou de la facturation restent ouvertes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The self-hosting docs (Environment Variables, "Limits") say installs with billing disabled "run without plan limits: no rate limits". The v2 API still enforces a fixed per-IP limit before auth: V2_PREAUTH_IP_LIMIT in apps/sim/lib/api/server/routes/v2-json-route.ts (600 burst, 300 per minute). It isn't affected by BILLING_ENABLED or the RATE_LIMIT_FREE_* variables, and there's no way to change it.
On a Docker Compose install, every request from the host arrives from the bridge gateway (172.19.0.1 here), so all local callers share one bucket. A batch job running sync executes with a log fetch after each one hit it and got 429 RATE_LIMITED. The server logs show storageKey: v2:preauth:ip:172.19.0.1.
Repro (billing off, no RATE_LIMIT_* set): send 800 quick requests to POST /api/v2/workflows/{id}/execute, even with an invalid API key. The first 600 return 401 and the rest return 429 with x-ratelimit-limit: 600.
At minimum it would help to mention this limit in the Limits section. It might also make sense to let self-hosters raise it with an env var, or to skip it when billing is disabled, but that's your call since it's there for abuse protection. Happy to send a docs PR.
- Langage dominant
- TypeScript
- Étoiles
- 29.8k
- Forks
- 3.9k
- Merge moyen
- 1 h 44 min
- PR mergées (30 j)
- 841
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de simstudioai/sim
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
simstudioai/sim#9831 ·
Les mainteneurs répondent en général sous 1 jour
-
Railway template generates invalid ENCRYPTION_KEY (should be 64-char hex string)Peut-être à nouveau libre @sahooarnav2007-gif l’a pris il y a 15 jours, et aucune pull request n’est ouverte. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
simstudioai/sim#6246 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
simstudioai/sim#1204 · 8 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
simstudioai/sim#9734 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
simstudioai/sim#9620 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de simstudioai/sim
Issues similaires
-
Bug: Cloudflare Pages static _redirects identity rule causes RSC Flight to reload as HTMLPeut-être pris @Donvero l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Mantitup-Org/vista#210 ·
-
status: waiting for maintainer
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
mui/material-ui#49751 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
diplodoc-platform/transform#1184 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
JonasKruckenberg/imagetools#973 ·
Les mainteneurs répondent en général sous 1 jour