429 Zbyt wiele żądań

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Krótki opis problemu

Może się pojawić błąd pochodzący z routera, a nie z 429 ze śledzenia, ponieważ żądania nie docierają do procesorów wiadomości. Połączenia bezpośrednio z routerami też zwracają 429.

Komunikaty o błędach

<html>
  <head> <title>429 Too Many Requests</title> </head>
  <body> <center> <h1>429 Too Many Requests</h1> </center> <hr> <center>server</center> </body>
</html>
    

Możliwe przyczyny

Zwykle plik konfiguracyjny nginx ma ustawienie conf_load_balancing_load.balancing.driver.nginx.limit_conn=5000 które może być zbyt niskie w przypadku połączeń przychodzących.

Diagnostyka

  1. Sprawdź domyślny limit na routerze nginx za pomocą tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  2. Sprawdź wpisy hosta wirtualnego access_log pod kątem 429 błędów i upewnij się, że nie pochodzą one z procesorów wiadomości upstream i pochodzą bezpośrednio z routera:
    cd /opt/apigee/var/log/edge-router/nginx/ grep "429 " org~env-port_access_log
            

Rozdzielczość

  1. Za pomocą polecenia ssh połącz się kolejno z węzłami routera.
  2. Otwórz ten plik (jeśli nie istnieje, utwórz go):
    /opt/apigee/customer/application/router.properties
            
  3. Dodaj ten wiersz:
    conf_load_balancing_load.balancing.driver.nginx.limit_conn=25000
            
  4. Zapisz plik.
  5. Upewnij się, że plik ma właściciela apigee:apigee:
    sudo chown apigee:apigee router.properties
            
  6. Uruchom ponownie router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
            
  7. Aby sprawdzić, czy właściwość jest ustawiona, użyj tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  8. Powtórz tę czynność na każdym routerze.