429 Too Many Requests

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Sintomo

Potresti visualizzare questo errore proveniente dal router e non visualizzare il 429 in una traccia, poiché le richieste non raggiungono i Message Processor. Anche le chiamate direttamente ai router restituiscono 429.

Messaggi di errore

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

Possibili cause

In genere, il file di configurazione nginx ha un'impostazione di conf_load_balancing_load.balancing.driver.nginx.limit_conn=5000 che potrebbe essere troppo bassa per le connessioni in entrata.

Diagnosi

  1. Controlla il limite predefinito sul router nginx con il seguente comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  2. Controlla le voci dell'host virtuale access_log per gli errori 429 e verifica che non provengano dai Message Processor upstream e che provengano direttamente dal router:
    cd /opt/apigee/var/log/edge-router/nginx/ grep "429 " org~env-port_access_log
            

Risoluzione

  1. Utilizza il comando ssh per connetterti ai nodi del router, uno alla volta.
  2. Apri il seguente file (crealo se non esiste):
    /opt/apigee/customer/application/router.properties
            
  3. Aggiungi la seguente riga:
    conf_load_balancing_load.balancing.driver.nginx.limit_conn=25000
            
  4. Salva il file.
  5. Assicurati che il file abbia la proprietà apigee:apigee:
    sudo chown apigee:apigee router.properties
            
  6. Riavvia il router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
            
  7. Esegui la convalida con il seguente comando per verificare che la proprietà sia impostata:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  8. Ripeti l'operazione su ogni router.