429 Quá nhiều yêu cầu

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Triệu chứng

Bạn có thể thấy lỗi này từ bộ định tuyến và không thấy 429 từ dấu vết vì các yêu cầu không được gửi đến Trình xử lý thông báo. Gọi trực tiếp đến chính các bộ định tuyến, cũng trả về 429.

Thông báo lỗi

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

Nguyên nhân có thể xảy ra

Thông thường, tệp cấu hình nginx có chế độ cài đặt là conf_load_balancing_load.balancing.driver.nginx.limit_conn=5000 có thể quá thấp đối với các kết nối đến.

Chẩn đoán

  1. Kiểm tra giới hạn mặc định trên bộ định tuyến nginx bằng lệnh sau:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  2. Kiểm tra các mục access_log của máy chủ ảo để tìm lỗi 429 và đảm bảo rằng các lỗi này không đến từ Trình xử lý thông báo thượng nguồn mà đến trực tiếp từ bộ định tuyến:
    cd /opt/apigee/var/log/edge-router/nginx/ grep "429 " org~env-port_access_log
            

Độ phân giải

  1. Sử dụng lệnh ssh, kết nối từng nút bộ định tuyến.
  2. Mở tệp sau (tạo tệp này nếu chưa có):
    /opt/apigee/customer/application/router.properties
            
  3. Hãy thêm dòng lệnh sau đây:
    conf_load_balancing_load.balancing.driver.nginx.limit_conn=25000
            
  4. Lưu tệp.
  5. Đảm bảo tệp đó có quyền sở hữu của apigee:apigee:
    sudo chown apigee:apigee router.properties
            
  6. Khởi động lại bộ định tuyến:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
            
  7. Xác thực bằng lệnh sau để xác minh rằng thuộc tính đã được đặt:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  8. Lặp lại trên từng bộ định tuyến.