429 มีคำขอมากเกินไป

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X
info

ลักษณะปัญหา

คุณอาจเห็นข้อผิดพลาดนี้มาจากเราเตอร์และไม่เห็น 429 จากการติดตาม เนื่องจากคำขอไม่ได้ส่งไปยัง Message Processor การโทรไปยังเราเตอร์โดยตรงจะแสดง 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 และตรวจสอบว่าข้อผิดพลาดไม่ได้มาจาก Message Processor ต้นทาง แต่มาจากเราเตอร์โดยตรง
    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. ทำซ้ำในเราเตอร์แต่ละรายการ