429 Trop de requêtes

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

Problème constaté

Vous pouvez voir cette erreur provenant du routeur et ne pas voir le 429 dans une trace, car les requêtes n'atteignent pas les processeurs de messages. Les appels directement aux routeurs renvoient également le code 429.

Messages d'erreur

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

Causes possibles :

En règle générale, le fichier de configuration nginx est défini sur conf_load_balancing_load.balancing.driver.nginx.limit_conn=5000 ce qui peut être trop faible pour les connexions entrantes.

Diagnostic

  1. Vérifiez votre limite par défaut sur le routeur nginx à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  2. Vérifiez les entrées access_log de l'hôte virtuel pour les erreurs 429 et assurez-vous qu'elles ne proviennent pas des processeurs de messages en amont , mais directement du routeur :
    cd /opt/apigee/var/log/edge-router/nginx/ grep "429 " org~env-port_access_log
            

Solution

  1. À l'aide de la commande ssh, connectez-vous à vos nœuds de routeur, un par un.
  2. Ouvrez le fichier suivant (créez-le s'il n'existe pas) :
    /opt/apigee/customer/application/router.properties
            
  3. Ajoutez la ligne suivante :
    conf_load_balancing_load.balancing.driver.nginx.limit_conn=25000
            
  4. Enregistrez le fichier.
  5. Assurez-vous que le fichier appartient à apigee:apigee:.
    sudo chown apigee:apigee router.properties
            
  6. Redémarrez le routeur :
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
            
  7. Validez à l'aide de la commande suivante pour vérifier que la propriété est définie :
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  8. Répétez l'opération sur chaque routeur.