Cum să rezolvați eroarea 429 Too Many Requests
Eroarea 429 Too Many Requests este un cod de stare HTTP care indică faptul că un utilizator a trimis prea multe cereri într-un anumit interval de timp. Aceasta servește ca un mecanism de limitare a ratei pentru a proteja serverul de a fi copleșit de solicitări excesive, fie din cauza unui script configurat greșit, crawlere sau atacuri cu forță brută. Rezolvarea acestei erori este esențială pentru a vă asigura că utilizatorii legitimi vă pot accesa site-ul fără întreruperi.
Acest ghid vă va prezenta cauzele erorii 429 și soluțiile pas cu pas pentru a o rezolva.
Care sunt cauzele erorii 429 Too Many Requests?
Eroarea 429 Too Many Requests este cauzată de obicei de:
- Limitarea ratei: Serverul sau un firewall de aplicație (cum ar fi Cloudflare, Sucuri sau un plugin) limitează numărul de cereri permise de la un anumit utilizator, adresă IP sau browser.
- Bots și crawlere: Bots sau crawlere pot trimite numeroase cereri către un site web, determinând serverul să activeze limitarea ratei.
- Plugin-uri sau scripturi configurate greșit: Anumite pluginuri WordPress, cereri API sau scripturi pot trimite din greșeală prea multe cereri către server, ducând la apariția erorii.
- Atacuri Brute Force: Încercările repetate de conectare sau amenințările de securitate precum atacurile prin forță brută pot declanșa limitarea ratei pe paginile de conectare.
Cum să remediați eroarea 429 Too Many Requests: Soluții pas cu pas
Pasul 1: Identificați sursa solicitărilor excesive
Pentru a rezolva eroarea 429, trebuie mai întâi să identificați cauza solicitărilor excesive:
- Verificați jurnalele serverului: Jurnalele serverului pot oferi informații despre adresele IP sau utilizatorii care trimit prea multe solicitări.
- Accesați jurnalele utilizând cPanel, SSH sau FTP.
- Căutați adresele IP sau scripturile care fac solicitări frecvente.
- Utilizați pluginuri de securitate: Dacă utilizați WordPress, pluginuri precum Wordfence sau iThemes Security vă pot ajuta să monitorizați și să blocați activitățile suspecte.
Pasul 2: Creșteți limitele ratei pe serverul dvs
Dacă vă confruntați cu eroarea 429 din cauza traficului legitim care depășește limitele de viteză ale serverului, este posibil să fie necesar să creșteți limitele de viteză ale serverului dvs.
- Ajustați limitele ratei în .htaccess (pentru serverele Apache):
- Accesați fișierul .htaccess prin FTP sau prin cPanel.
- Adăugați următorul cod pentru a permite mai multe cereri:RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(POST|GET) RewriteCond %{REQUEST_URI} ^/your-page-url/ RewriteCond %{REMOTE_ADDR} ^(.*)$ RewriteRule .* – [F,L]
- Acest exemplu limitează rata cererilor către o anumită pagină. Ajustați condițiile după cum este necesar pentru nevoile dvs.
- Servere Nginx:
- Accesați fișierul nginx.conf și ajustați setările de limitare a ratei:http { limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; server { location / { limit_req zone=one burst=20 nodelay; } } }
- Această configurație permite 10 cereri pe secundă și o rafală de 20 de cereri fără întârziere. Ajustați valorile după cum este necesar.
- Accesați fișierul nginx.conf și ajustați setările de limitare a ratei:
Pasul 3: Dezactivați temporar plugin-urile (WordPress)
În WordPress, plugin-urile pot fi uneori cauza erorii 429 din cauza cererilor API sau a setărilor de limitare a ratei:
- Conectați-vă la tabloul de bord WordPress.
- Mergeți la Plugins > Plugins instalate.
- Dezactivați pluginurile care ar putea interacționa cu API-urile externe, cum ar fi pluginurile SEO, pluginurile de caching sau pluginurile de securitate.
- Verificați site-ul dvs. web pentru a vedea dacă eroarea persistă.
- Reactivați pluginurile unul câte unul pentru a identifica cel care cauzează problema.
Sfat: Păstrați-vă întotdeauna plugin-urile actualizate pentru a evita problemele de compatibilitate care ar putea duce la erori.
Pasul 4: Ajustați limitele cererilor API
Dacă lucrați cu API-uri (cum ar fi API-uri terțe sau scripturi personalizate), asigurați-vă că solicitările dvs. nu depășesc limitele de rată stabilite de furnizorul API:
- Verificați documentația API: Consultați limitele de viteză din documentația API și ajustați-vă scripturile pentru a respecta aceste limite.
- Limitați solicitările API: Utilizați restricționarea sau limitarea ratei în solicitările API pentru a preveni apelurile excesive. De exemplu, dacă utilizați JavaScript, puteți implementa limitarea cu biblioteci precum lodash:_.throttle(() => { // Apelul dvs. API aici }, 2000);
- Acest exemplu trimite o solicitare API la fiecare 2 secunde.
Pasul 5: Blocați sau limitați Bots și Crawlere
Bots și crawlere pot cauza cereri excesive, ceea ce duce la eroarea 429:
- Block Unwanted Bots în .htaccess:
- Adăugați următorul cod în .htaccess pentru a bloca boturile rele cunoscute:RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(BadBot|AnotherBadBot).*$ [NC] RewriteRule .* – [F,L]
- Înlocuiți BadBot și AnotherBadBot cu numele boturilor pe care doriți să le blocați.
- Adăugați următorul cod în .htaccess pentru a bloca boturile rele cunoscute:
- Utilizați un Firewall pentru aplicații web (WAF):
- Utilizați servicii precum Cloudflare, Sucuri sau Wordfence (pentru WordPress) pentru a bloca roboții rău intenționați și a controla traficul către site-ul dvs.
- Aceste instrumente pot detecta și bloca automat IP-urile suspecte care generează cereri excesive.
Pasul 6: Contactați-vă furnizorul de găzduire
Dacă nu puteți identifica sursa erorii 429, furnizorul dvs. de găzduire web ar putea să vă ofere informații:
- Deschideți un bilet de asistență la furnizorul dvs. de găzduire și descrieți problema.
- Cereți-le să verifice jurnalele serverului pentru activități neobișnuite sau reguli de limitare a ratei.
- Ei pot crește temporar limita de viteză a serverului sau vă pot ajuta să blocați traficul problematic.
Pasul 7: Reglați setările pluginului de securitate (WordPress)
Dacă utilizați un plugin de securitate precum Wordfence sau iThemes Security, verificați setările de limitare a ratei:
- Mergeți la setările pluginului în tabloul de bord WordPress.
- Căutați setările de limitare a ratei sau de protecție împotriva forței brute.
- Ajustați pragul pentru încercările de autentificare și ratele de solicitare pentru a fi mai blând.
- Salvați modificările și testați-vă site-ul pentru a vedea dacă eroarea este rezolvată.
Pasul 8: Ștergeți memoria cache și cookie-urile browserului
Uneori, eroarea 429 poate fi stocată în memoria cache a browserului:
- Curățați memoria cache în Chrome:
- Mergeți la Setări > Confidențialitate și securitate > Ștergeți datele de navigare.
- Selectați Imagini și fișiere în cache și Cookie-uri și alte date ale site-ului, apoi faceți clic pe Ștergere date.
- Încercați modul Incognito: Dacă ștergerea cache-ului nu funcționează, încercați să accesați site-ul web în modul Incognito pentru a exclude problemele de cache.
Rezumat
Eroarea 429 Too Many Requests poate fi cauzată de setările de limitare a ratei, de solicitările API excesive sau de traficul rău intenționat. Iată o recapitulare rapidă a modului de remediere a problemei:
- Identificați sursa solicitărilor excesive utilizând jurnalele serverului.
- Creșteți limitele de viteză în .htaccess sau nginx.conf dacă traficul legitim este cauza problemei.
- Dezactivați temporar pluginurile pentru a identifica și corecta scripturile configurate greșit.
- Ajustați limitele cererilor API și utilizați throttling pentru a evita depășirea limitelor de rată API.
- Blocați roboții și utilizați un Web Application Firewall pentru a gestiona traficul.
- Contactați furnizorul de găzduire pentru asistență dacă problema persistă.
Urmând acești pași, puteți rezolva eroarea 429 și vă puteți asigura că site-ul dvs. rămâne accesibil pentru utilizatorii legitimi.