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

AKS环境中Nginx Ingress Basic Auth认证异常问题排查

问题分析与解决方案

核心排查点

你的配置在Docker Desktop K8s环境正常,但在AKS v1.26.6中出现Basic Auth异常,重点排查以下几个关键问题:

1. 错误的satisfy注解配置

你添加的nginx.ingress.kubernetes.io/satisfy: "any"注解仅适用于同时启用多种认证方式(比如Basic Auth + 客户端证书认证)的场景,作用是满足任意一种认证即可通过。但当前仅配置了Basic Auth,该注解会导致AKS环境中Nginx Ingress的认证逻辑异常,建议直接移除该注解(默认值为all,适配单一认证场景)。

2. Secret有效性验证

虽然Docker Desktop环境正常,仍需确认AKS中Secret的格式无误:
执行以下命令解码验证auth字段:

echo "Zm9vOiRhcHIxJFJYcWhKZnFOJGdlUThDNjFnQkJSdXVoWWZEbU53VDAK" | base64 -d

正常输出应为foo:$apr1$RXqhJfqN$geQ8C61gBRruuhYfDmNwT0,确保是标准htpasswd格式。若格式异常,重新生成:

# 生成新的auth文件(用户名foo,输入密码后完成)
htpasswd -c auth foo
# 编码为base64
cat auth | base64
# 更新Secret
kubectl patch secret basic-auth -p '{"data":{"auth":"<新的base64编码内容>"}}'

3. AKS Nginx Ingress Controller版本兼容性

AKS上的Ingress Controller版本可能与Docker Desktop存在差异,部分旧版本对AKS 1.26的注解处理有兼容性问题。检查当前Controller版本:

kubectl get pods -n ingress-nginx -o jsonpath='{.items[0].spec.containers[0].image}'

若版本较旧,升级至兼容AKS 1.26的官方维护版本。

4. 缓存与路径规则冲突

  • 浏览器缓存:部分浏览器会缓存HTTP认证凭证,即使更换浏览器也可能受系统级缓存影响,建议清理浏览器的「密码与登录数据」后重试。
  • Rewrite规则冲突:路径规则/hello-world-one(/|$)(.*)结合rewrite-target: /$2可能在AKS环境中与认证逻辑冲突,可先临时移除rewrite相关注解,测试Basic Auth是否正常,再逐步恢复规则调试。

修改后的Ingress配置示例

移除satisfy注解后的配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-world-ingress
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/auth-type: basic
    nginx.ingress.kubernetes.io/auth-secret: basic-auth
    nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required'
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /hello-world-one(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: aks-helloworld-one
            port:
              number: 80

日志排查

若问题仍存在,查看Ingress Controller日志定位具体错误:

kubectl logs -n ingress-nginx deployment/ingress-nginx-controller -f

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:25:27