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

如何使用AGIC配置AKS Ingress,解决应用子请求路径前缀缺失问题?

解决AGIC下应用路径前缀的资源加载问题

你遇到的核心问题是:应用发起的静态资源请求是绝对路径(不带/store前缀),但AGIC默认只会路由匹配/store的请求,导致资源请求404。由于不能修改应用代码,必须用AGIC原生支持的路径重写方案来解决,不能用Nginx Ingress的注解。

正确配置步骤

AGIC通过RewriteRuleSet自定义资源(CRD)实现路径重写,以下是完整配置:

  1. 创建路径重写规则集
    定义一个RewriteRuleSet,将所有/store/xxx格式的请求重写为/xxx,传给后端应用:

    apiVersion: networking.azure.com/v1
    kind: RewriteRuleSet
    metadata:
      name: store-rewrite-rules
      namespace: default # 替换为你的应用命名空间
    spec:
      rewriteRules:
      - ruleSequence: 100
        conditions:
        - variable: Request_URI
          pattern: ^/store/(.*)
          ignoreCase: true
        action:
          type: UrlRewrite
          urlRewrite:
            modifiedPath: /{R:1}
            queryString: {originalQueryString}
            preserveUnmatchedPath: true
    
  2. 更新Ingress配置
    在Ingress中引用上述规则集,并设置路径为Prefix类型,确保所有以/store开头的请求都被路由到后端:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: store-front
      annotations:
        kubernetes.io/ingress.class: azure/application-gateway
        appgw.ingress.kubernetes.io/rewrite-rule-set: store-rewrite-rules
    spec:
      rules:
      - http:
          paths:
          - path: /store
            pathType: Prefix
            backend:
              service:
                name: store-front
                port:
                  number: 80
    

配置说明

  • RewriteRuleSet规则:匹配请求路径中以/store/开头的部分,将/store/后的内容保留,重写为根路径下的对应资源(比如/store/css/style.css → /css/style.css)。
  • Ingress路径类型:使用Prefix而非Exact,确保所有以/store开头的请求(包括初始页面和后续资源请求)都能被路由到目标服务。
  • 注解兼容性:appgw.ingress.kubernetes.io/rewrite-rule-set是AGIC专属注解,替代Nginx的rewrite-target,确保配置能被应用网关正确识别。

验证配置

部署上述资源后,等待AGIC同步配置到应用网关,然后:

  1. 访问<PUBLIC_IP>/store,确认初始页面加载正常。
  2. 查看浏览器开发者工具的网络请求,检查CSS/JS资源的请求路径是否为<PUBLIC_IP>/store/xxx,且返回200状态码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:08:23