Skip to content

Rate Limit ve Koruma

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

Rate limit, request protection ve proxy güveni

English · Türkçe · Languages / Diller

Kapsam: JSON API Forge 0.5.1 · İnceleme: 17 Eylül 2026 · Dil: Türkçe

Forge token-bucket limitleriyle pre-auth IP, principal ve isteğe bağlı route bütçeleri uygular. Memory backend worker-local, Redis backend ortak atomik bütçe içindir. Her worker'a ayrı 120 istek sınırı koymak bütün cluster'da tek 120 istek bütçesi oluşturmaz.

Katman Neyi sınırlar?
Pre-auth Kimlik çözülmeden önce istemci IP trafiği
Principal Kimliği doğrulanan çağıranın genel bütçesi
Route Normalize route kimliği için daha dar bütçe
Concurrency Aynı anda yürüyen iş sayısı
Body/result limitleri Bellek ve veri hacmi
Timeout/queue wait Bekleme süresi

rate_limit.fail_open varsayılanı false'tur. Cache'in fail-open tercihini rate limiter'a bilinçsizce taşımayın. Redis kesintisinde kullanılabilirlik ve koruma arasındaki davranış staging'de denenmelidir.

Proxy yapılandırması

protection.trusted_proxy_cidrs, yalnız doğrudan peer belirtilen aralıktaysa forwarded client-IP/protocol değerlerine güvenilmesini sağlar. trusted_hosts beklenen hostları; security.require_https, allowed_ips, denied_ips uygulama sınırlarını tanımlar.

{
  "protection": {
    "trusted_proxy_cidrs": ["127.0.0.1/32"],
    "trusted_hosts": ["api.example.com"],
    "max_request_body_bytes": 1048576,
    "max_concurrent_requests": 100,
    "request_timeout_seconds": 15,
    "reject_when_saturated": true
  },
  "security": {"require_https": true}
}

Bu örnek yalnız proxy gerçekten loopback'ten bağlanıyorsa doğrudur. Gerçek topolojinize göre CIDR seçin. Bütün interneti trusted proxy ilan etmeyin. Editörün EDITOR_TRUSTED_* politikası ayrı ayarlanır.

CORS

CORS bir browser davranışıdır; API key veya row authorization yerine geçmez. Proje cors_origins, cors_methods, cors_headers, cors_expose_headers, cors_allow_credentials ve cache süresini kullanır. Origin yalnız scheme+authority içerir; path/query eklenmez. İhtiyacınız olmayan origin ve header'ları açmayın.

Boyut, bekleme ve kapasite

ASGI body limiti alınan chunk'ları sayar; yalnız Content-Length değerine güvenmez. Limit aşımında 413, rate aşıldığında 429, doygunluk/bağımlılık sorunlarında 503 gibi sonuçlar beklenir. Reverse proxy'nin kendi upload ve timeout sınırları ayrıca vardır; en küçük sınır geçerli sonucu belirler.

WebSocket bağlantı açılış limiti, bağlantı içindeki mesaj hızını otomatik çözmez. Realtime ayarlarıyla birlikte değerlendirin. Tam alan/varsayılan tablosu güvenlik ve koruma modellerinde bulunur.

Kaynak ve doğrulama

Bu sayfa aşağıdaki sabit commitlerdeki davranışı açıklar. Yeni bir sürümde aynı davranışın sürdüğünü varsaymayın.


Wiki ana sayfa · Tüm sayfalar · Sürüm ve bakım

Clone this wiki locally