429 Too Many Requests

אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X.
info

תיאור הבעיה

יכול להיות שתראו את השגיאה הזו מהנתב ולא תראו את הערך 429 במעקב, כי הבקשות לא מגיעות למעבדי ההודעות. גם קריאות ישירות למתגים עצמם מחזירות את הערך 429.

הודעות שגיאה

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

סיבות אפשריות

בדרך כלל, קובץ התצורה של nginx מוגדר ל-conf_load_balancing_load.balancing.driver.nginx.limit_conn=5000, ויכול להיות שהערך הזה נמוך מדי לחיבורים נכנסים.

אבחון

  1. בודקים את מגבלת ברירת המחדל בנתב nginx באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  2. בודקים את הרשומות access_log של המארח הווירטואלי כדי למצוא שגיאות 429, ולוודא שהן לא מגיעות ממעבדי ההודעות במעלה הזרם, אלא ישירות מהנתב:
    cd /opt/apigee/var/log/edge-router/nginx/ grep "429 " org~env-port_access_log
            

רזולוציה

  1. באמצעות הפקודה ssh, מתחברים לצמתים של הנתב, אחד אחרי השני.
  2. פותחים את הקובץ הבא (יוצרים אותו אם הוא לא קיים):
    /opt/apigee/customer/application/router.properties
            
  3. מוסיפים את השורה הבאה:
    conf_load_balancing_load.balancing.driver.nginx.limit_conn=25000
            
  4. שומרים את הקובץ.
  5. מוודאים שהבעלים של הקובץ הוא apigee:apigee:
    sudo chown apigee:apigee router.properties
            
  6. מפעילים מחדש את הנתב:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
            
  7. כדי לוודא שהמאפיין מוגדר, מריצים את הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  8. חוזרים על הפעולה בכל נתב.