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

คุณกําลังดูเอกสารประกอบของ 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 และดูว่าข้อผิดพลาดไม่ได้มาจาก 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. ทำซ้ำในแต่ละเราเตอร์