429 Trop de requêtes

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

Problème constaté

Cette erreur peut provenir du routeur et ne pas afficher 429 à partir d'une trace, car les requêtes n'atteignent pas les processeurs de messages. Les appels directs aux routeurs eux-mêmes renvoient également 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 la 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 détecter les erreurs 429 et vérifiez qu'elles ne proviennent pas des processeurs de messages en amont et qu'elles proviennent 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 aux nœuds de votre 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 avec 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.