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

如何配置Azure Application Gateway实现与现有Nginx反向代理相同功能?

迁移Nginx路径转发配置到Azure应用网关的正确操作

原Nginx配置核心逻辑

  • 监听443端口HTTPS请求,绑定域名subdomain.domain.com
  • 请求路径匹配/domain-folder1时,转发到http://127.0.0.1:5678/(末尾斜杠会移除匹配的路径前缀,比如/domain-folder1/abc会转成/abc发给后端)
  • 请求路径匹配/domain-folder2时,转发到http://127.0.0.1:4151/(同样移除路径前缀)

Azure应用网关对应配置步骤

1. 创建后端池

分别为两个后端服务创建独立池:

  • 后端池1:添加目标服务器127.0.0.1,端口5678(如果是云服务,替换为实际VM/IP/应用服务地址)
  • 后端池2:添加目标服务器127.0.0.1,端口4151

2. 配置HTTP设置

对应Nginx的proxy_params(包含请求头转发等逻辑):

  • 为每个后端池创建HTTP设置:
    • 协议选HTTP(后端是HTTPS则对应修改),端口匹配后端服务端口
    • 建议开启自定义健康探测,确保后端状态可监控
    • 关键:路径字段填写/,这会模拟Nginx proxy_pass末尾斜杠的效果,转发时自动移除匹配的路径前缀
    • 主机头设置:勾选「从后端地址拾取主机名」或手动填写对应值,对应Nginx的proxy_set_header Host $host;

3. 配置路径路由规则

这是路径转发生效的核心,注意Azure的匹配规则和Nginx不同:

  • 创建基于路径的路由规则,关联已配置的HTTPS监听(需先上传SSL证书并绑定域名subdomain.domain.com)
  • 添加两个路径匹配项:
    • 路径1:/domain-folder1/*(Azure用*作为通配符,匹配该路径下所有子路径,对应Nginx的location /domain-folder1)
    • 路径2:/domain-folder2/*
  • 每个路径匹配项关联对应的后端池和HTTP设置
  • 若有多个规则,确保具体路径优先级更高(此处两个路径平级,顺序不影响)

4. SSL证书配置

  • 在应用网关的「SSL设置」中上传与Nginx一致的PEM证书和私钥,对应ssl_certificate和ssl_certificate_key
  • 监听端口设为443,协议选HTTPS,绑定域名subdomain.domain.com

常见问题排查

  • 路径匹配失效:检查路径规则是否用了/*通配符,Azure不支持Nginx式的前缀匹配(如/domain-folder1),必须用/domain-folder1/*才能覆盖所有子路径
  • 转发路径错误:若后端收到的请求仍包含/domain-folder1前缀,说明HTTP设置的「路径」未填/,导致未移除前缀
  • SSL握手失败:确认证书上传完整、域名与证书绑定一致、监听端口和协议配置正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:00:06