您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
问题
您可能会看到来自路由器的此错误,但不会在跟踪记录中看到 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
,对于传入连接而言,此值可能过低。
诊断
-
使用以下命令检查 nginx 路由器的默认限制:
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
-
检查虚拟主机
access_log
条目是否存在429
错误,并确认这些错误并非来自上游消息处理器,而是直接来自路由器:cd /opt/apigee/var/log/edge-router/nginx/ grep "429 " org~env-port_access_log
分辨率
- 使用
ssh
命令,逐个连接到路由器节点。 -
打开以下文件(如果该文件不存在,请创建):
/opt/apigee/customer/application/router.properties
-
添加以下代码行:
conf_load_balancing_load.balancing.driver.nginx.limit_conn=25000
- 保存文件。
-
确保该文件的所有权为
apigee:apigee:
sudo chown apigee:apigee router.properties
-
重启路由器:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
-
使用以下命令进行验证,以验证是否已设置该属性:
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
- 在每个路由器上重复此操作。