Nginx 反向代理配置
使用 Nginx 作为 Data Agent 的反向代理,可以提供负载均衡、SSL 终止、静态文件服务等能力。
基础配置
以下是一个完整的 Nginx 反向代理配置示例:
关键配置说明
子路径部署
如果需要将 Data Agent 部署到子路径(如 https://your-domain.com/data-agent/),需要同时配置环境变量和 Nginx。
环境变量配置
在 docker-compose.yml 中添加 APP_PUBLIC_PATH 环境变量:
Nginx 配置
注意:
APP_PUBLIC_PATH的值必须与 Nginxlocation的路径保持一致,且必须以/开头和结尾。
Kubernetes Ingress 配置
在 Kubernetes 环境中使用 Nginx Ingress Controller 时,需要在 Ingress 资源的 annotations 中添加以下配置来支持 SSE 流式响应:
参数说明
注意事项
- 配置项
proxy-request-buffering需要 ingress-nginx 控制器版本 >= 0.21.0 proxy-read-timeout的值3600表示 3600 秒(1 小时),可根据业务实际需求调整- 如果后端应用可能覆盖缓冲设置,建议额外添加以下配置:
完整示例
阿里云 ALB Ingress 配置
如果你使用的是阿里云 ALB(Application Load Balancer)Ingress,超时配置方式与 Nginx Ingress 不同——ALB Ingress 没有对应的 annotations 配置项,需要通过与其关联的 AlbConfig 自定义资源中的 listeners 字段来设置。
配置方式
在 AlbConfig 资源的 spec.listeners 下修改或添加 requestTimeout 和 idleTimeout 字段:
参数说明
注意事项
requestTimeout的最大值为 600 秒(1 小时),建议设为最大值以支持长时间的 SSE 流式响应- 修改
AlbConfig后保存即可,变更会自动生效,无需重启任何服务 - 可以使用
kubectl get albconfig查看已有的 AlbConfig 资源
配置生效
修改配置后,检查语法并重载:
常见问题
流式输出仍然不生效
如果禁用 proxy_buffering 后流式输出仍不生效,检查:
- 确认配置已生效:
nginx -t && nginx -s reload - 检查是否有其他缓存层(如 CDN)
- 确认后端应用未启用缓冲

