429 너무 많은 요청

Apigee Edge 문서입니다.
Go to the 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. 각 라우터에서 반복합니다.