You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在带内部负载均衡器的现有Nginx前部署Azure应用网关的步骤及健康探测超时排查

配置Azure应用网关对接带内部负载均衡器的Nginx部署步骤

前置检查

  • 确认带内部负载均衡器(ILB)的Nginx部署已正常运行,ILB后端池已关联Nginx实例,Nginx监听80端口
  • 确保Azure应用网关所在虚拟网络与Nginx的VNet连通(同VNet或已配置VNet对等)
  • 拥有应用网关的配置权限

1. 应用网关基础配置

  • 新建或选择现有应用网关,配置核心参数:
    • 虚拟网络:选与Nginx同VNet/对等的VNet
    • 子网:分配专属子网(需≥/28)
    • 前端IP:按需选公共IP(外部访问)或内部IP(仅内部访问),绑定80端口
    • 前端端口:创建80端口的端口配置

2. 配置后端池

  • 进入应用网关「后端池」页面,点击「添加」
  • 目标类型选内部负载均衡器,选择已有的Nginx ILB
  • 确认后端池关联的ILB后端Nginx实例状态正常

3. 后端HTTP设置

  • 进入「后端HTTP设置」页面,点击「添加」
  • 关键配置:
    • 端口:80(匹配Nginx监听端口)
    • 协议:HTTP
    • 健康探测:先使用默认探测,后续按需调整
    • 超时时间:建议先设为60秒(适配可能的后端延迟)
    • 可选:启用Cookie关联(如需会话保持)

4. 配置监听器

  • 进入「监听器」页面,点击「添加」
  • 配置:
    • 前端IP:选之前创建的前端IP配置
    • 前端端口:选80端口
    • 协议:HTTP
    • 监听规则类型:按需选「基本」或「路径基」

5. 路由规则配置

  • 进入「规则」页面,点击「添加」
  • 关联已创建的监听器、后端池和后端HTTP设置,保存配置

健康探测超时问题解决

问题根源

默认健康探测超时为30秒,若Nginx后端响应超过该阈值,会触发告警。常见诱因:

  • Nginx实例负载过高,请求处理延迟
  • ILB到Nginx的网络链路存在延迟
  • 探测目标路径(默认/)在Nginx上处理逻辑复杂

解决措施

1. 调整探测超时阈值

  • 进入应用网关「健康探测」页面,选中当前使用的探测规则
  • 修改「超时」参数:先调至60秒,若仍超时可逐步提升(最大支持3600秒)
  • 可选:调整「间隔」参数(默认30秒),降低探测频率减轻后端压力
  • 保存后等待1-2分钟,观察探测状态是否恢复正常

2. 排查Nginx后端问题

  • 登录Nginx实例,查看/var/log/nginx/access.log和error.log,检查来自应用网关IP的探测请求响应时间
  • 简化Nginx根路径/的处理逻辑,避免复杂计算或数据库查询
  • 查看Nginx实例CPU、内存负载,若负载过高需扩容或优化配置
  • 在应用网关子网内的虚拟机上执行curl -w "%{time_total}\n" http://<Nginx内部IP>,测试网络延迟

3. 优化网络链路

  • 确认VNet对等连接(跨VNet场景)状态正常,无带宽瓶颈
  • 检查ILB的健康状态,确保后端Nginx实例均处于健康状态
  • 验证NSG规则,确保允许应用网关IP段访问Nginx的80端口

内容的提问来源于stack exchange,提问作者Andrew Vergara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:22:04