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

如何禁用Kubernetes Ingress的外部身份验证弹窗

问题解决步骤

你遇到的弹出登录框的问题本质是请求返回了401 Unauthorized状态码,按以下步骤排查处理即可:

1. 确认访问端口是否正确

你开启了hostNetwork: true配置后,Nginx Ingress Controller的业务端口默认为80(HTTP)和443(HTTPS),其自带的10254等管理端口默认开启基础认证,如果你误访问了管理端口就会触发登录弹窗。请确认你访问的地址为http://my-url.com/testpath(80端口)或者https://my-url.com/testpath(443端口),没有携带其他端口号。

2. 检查Ingress Controller全局配置是否默认开启认证

Nginx Ingress Controller的全局配置存储在ConfigMap中,执行以下命令查看配置:

kubectl get configmap -n <Ingress Controller所在命名空间> <Ingress Controller对应的ConfigMap名称> -o yaml

如果配置中存在以下两个字段,直接删除后重启Ingress Controller Pod即可:

nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: <任意Secret名称>

3. 检查当前Ingress资源是否配置了认证规则

执行以下命令确认你创建的Ingress资源没有配置认证相关注解:

kubectl get ingress minimal-ingress -o yaml

如果返回结果的Annotations中存在auth相关的配置,直接删除后重新Apply该Ingress资源即可。

4. 排查后端服务本身是否自带认证

你可以直接在集群内部访问后端Service验证是否为服务本身的认证逻辑:

# 启动一个临时curl容器
kubectl run -it --rm curl --image=curlimages/curl -- sh
# 访问你的后端服务
curl http://my-service:80

如果该请求返回401状态码,说明认证逻辑是后端服务自带的,和Ingress无关,调整后端服务配置即可。

补充说明

你使用的安装命令存在错误,重复了helm install参数,正确的旧版stable仓库安装命令为:

helm install my-ingress stable/nginx-ingress

注意stable仓库的nginx-ingress chart早已停止维护,建议后续替换为官方维护的ingress-nginx仓库使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:15:02