Cloudflare Rate Limiting blokuje API REST WP STAGING (HTTP 429)

Jeśli Twoja witryna działa za Cloudflare i masz aktywną regułę rate limiting, ta reguła może obejmować także API REST WP STAGING. Cloudflare odpowiada wtedy na takie żądania kodem HTTP 429 (Too Many Requests), a funkcje WP STAGING zależne od API REST przestają działać. Rozwiązaniem jest jednolinijkowy wyjątek w regule rate limiting.

Dlaczego rate limiting Cloudflare psuje API REST WP STAGING?

Reguły rate limiting w Cloudflare są sprawdzane na przychodzącym żądaniu, a nie na wtyczce, która je wysłała. Reguła napisana dla całej domeny albo dla obciążonej ścieżki takiej jak /booking zlicza więc również wewnętrzne żądania, które WP STAGING kieruje do własnego API REST.

Po przekroczeniu licznika Cloudflare blokuje kolejne pasujące żądania i zwraca HTTP 429. WP STAGING w ogóle nie dociera do WordPressa, więc funkcja, która wywołała żądanie, kończy się błędem albo zawiesza.

Twoja witryna jest dotknięta problemem, jeśli spełnione są wszystkie poniższe warunki:

  • Rate limiting Cloudflare jest włączony dla strefy.
  • Reguła rate limiting obejmuje witrynę WordPress lub ścieżkę w jej obrębie, na przykład /booking.
  • Ta reguła nie wyklucza API REST WP STAGING.

Które funkcje WP STAGING przestają działać?

Z API REST WP STAGING korzysta kilka funkcji, między innymi:

  • Zadania w tle
  • Remote Sync
  • Magic Login
  • Automatyczne aktualizacje wtyczek
  • Inne funkcje oparte na API REST

Jeśli te żądania zostaną ograniczone, kończą się błędem HTTP 429, a funkcja, która je uruchomiła, nie może się zakończyć.

Jak wykluczyć API REST WP STAGING z rate limitingu Cloudflare?

Zmodyfikuj regułę rate limiting tak, aby przestała obejmować żądania do API REST WP STAGING.

Krok 1: otwórz swoje reguły rate limiting

W panelu Cloudflare wybierz konto, a następnie domenę, przejdź do sekcji Security i otwórz Security rules. Znajdziesz tam listę reguł rate limiting.

Krok 2: edytuj regułę obejmującą witrynę WordPress

Otwórz regułę, która obejmuje witrynę WordPress lub ścieżkę, na której pojawiają się odpowiedzi 429.

Krok 3: dodaj wyjątek do wyrażenia reguły

Dopisz ten warunek do wyrażenia dopasowania reguły:

and not http.request.uri.query contains "/wpstg/v1"

Pełne wyrażenie dla reguły chroniącej /booking wygląda wtedy tak:

(http.host eq "example.com" and starts_with(http.request.uri.path, "/booking")) and not http.request.uri.query contains "/wpstg/v1"

Krok 4: wdróż regułę

Zapisz i wdróż. Żądania takie jak poniższe nie są już ograniczane, a reszta witryny pozostaje chroniona:

?rest_route=/wpstg/v1/check_magic_login

Uwaga: wpstg/v1 jest częścią ciągu zapytania, a nie ścieżki adresu URL. WP STAGING wywołuje swoje API REST w formie ?rest_route=, dlatego w wyjątku użyj http.request.uri.query, a nie http.request.uri.path.

FAQ

Dlaczego wyjątek używa http.request.uri.query, a nie http.request.uri.path?

WP STAGING buduje adresy REST w postaci https://example.com/?rest_route=/wpstg/v1/<endpoint>. Przestrzeń nazw wpstg/v1 znajduje się więc w ciągu zapytania. Reguła sprawdzająca http.request.uri.path nigdy by jej nie zobaczyła, a wyjątek nie zadziałałby wcale.

Czy ten wyjątek osłabia ochronę witryny?

Zwalnia wyłącznie żądania, których ciąg zapytania zawiera /wpstg/v1. Wszystkie pozostałe żądania do Twojej domeny nadal liczą się do reguły rate limiting.

Widzę błędy 429 również na /wp-json/wpstg/v1/. Co wtedy?

Niektóre konfiguracje sięgają do API REST przez formę z bezpośrednimi odnośnikami. W takim przypadku dodaj drugi warunek dla ścieżki:

and not starts_with(http.request.uri.path, "/wp-json/wpstg/v1/")

Czy błąd 429 może mieć inną przyczynę niż Cloudflare?

Tak. Zapory aplikacji webowych, rate limiting po stronie hostingu i wtyczki bezpieczeństwa również mogą zwracać HTTP 429. Sprawdź logi serwera i wtyczek, jeśli błędy występują nadal po wdrożeniu wyjątku w Cloudflare.

Jak potwierdzić, że poprawka zadziałała?

Uruchom ponownie funkcję, która zawodziła, na przykład otwórz link Magic Login albo rozpocznij Remote Sync, i sprawdź dziennik Security Events w Cloudflare. Żądania zawierające /wpstg/v1 nie powinny już pokazywać akcji blokady przez rate limiting.

Powiązane artykuły

Updated on 4 sierpnia, 2026

Rene Hermenau

Autor: Rene Hermenau

O autorze: René Hermenau jest założycielem WP STAGING. Zajmuje się kopiami zapasowymi WordPressa, środowiskami stagingowymi, migracjami, obsługą baz danych oraz bezpiecznymi procesami wdrażania.