当前位置: 首页 > news >正文

K8s Ingress Nginx 控制器配置 HTTPS 自动重定向的 YAML 要怎么写?

在 Kubernetes 集群中,要实现 Ingress Nginx 控制器将 HTTP 请求自动重定向到 HTTPS,最标准的方法是在 Ingress 资源的 metadata.annotations 中配置 ssl-redirect 注解,并确保 spec.tls 绑定了有效的证书 Secret。

核心结论:通过注解 nginx.ingress.kubernetes.io/ssl-redirect: "true" 开启重定向,粒度最细,适合按域名独立管理。

  • 适用场景:单个或少数几个 Ingress 需要强制 HTTPS,不影响全局配置。
  • 前置条件:必须先在相同命名空间创建好 TLS 类型的 Secret,否则 443 端口无法握手。
  • 验收标准:curl 测试 HTTP 请求返回 308 状态码,且 Location 头指向 HTTPS。

1. 前置准备:创建 TLS Secret

在配置 Ingress 之前,必须确保证书文件(.crt 和 .key)已就绪,并在集群中创建 Secret。假设证书文件在当前目录:

kubectl create secret tls my-tls-secret \`--cert`=path/to/tls.crt \`--key`=path/to/tls.key \-n <your-namespace>

创建完成后,使用以下命令确认 Secret 状态:

kubectl get secret my-tls-secret -n <your-namespace>

2. 完整 Ingress YAML 配置模板

以下是一个包含 HTTPS 重定向配置的完整 Ingress 示例。注意 annotations 的缩进层级必须与 name 同级,且 spec.tls 中 secretName 需与上述创建的 Secret 一致。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: my-ingressnamespace: <your-namespace>annotations:# 开启 HTTPS 强制重定向nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:ingressClassName: nginxtls:- hosts:- example.comsecretName: my-tls-secretrules:- host: example.comhttp:paths:- path: /pathType: Prefixbackend:service:name: my-serviceport:number: 80

配置关键点说明:

  • annotations:必须包含 nginx.ingress.kubernetes.io/ssl-redirect: "true"。
  • spec.tls:必须配置,否则控制器不会监听 443 端口,重定向后用户无法访问。
  • secretName:必须与第一步创建的 Secret 名称完全一致。

3. 应用配置与验证

保存上述 YAML 为 ingress.yaml,执行应用命令:

kubectl apply -f ingress.yaml

检查 Ingress 状态是否为 READY:

kubectl get ingress my-ingress -n <your-namespace>

验证重定向:在能解析域名的客户端执行 curl 命令,观察 HTTP 请求是否被重定向:

curl -I http://example.com

预期结果:返回状态码应为 308 Permanent Redirect 或 301 Moved Permanently,且 Location 头以 https:// 开头。

4. 常见故障与排查

  • 重定向后无法访问(握手失败):检查 spec.tls 是否配置,以及 secretName 对应的 Secret 是否存在且包含有效的 cert 和 key。
  • 注解不生效:检查 Ingress Nginx 控制器的 ConfigMap 是否全局关闭了 ssl-redirect(use-ssl-redirect: "false"),全局配置优先级可能高于注解。
  • 重定向循环:如果后端服务本身也强制跳转 HTTPS,而 Ingress 透传了 HTTP 请求给后端,可能导致循环。确保后端服务能处理 HTTP 请求或 Ingress 配置正确。
  • 日志排查:查看控制器日志确认配置加载情况:kubectl logs -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx

原文链接:https://www.zjcp.cc/ask/11726.html

http://www.gsyq.cn/news/1342542.html

相关文章:

  • 从 Excel 手算理解 MLP(多层感知机)的完整计算过程
  • 英伟达的“围城”:云厂商自研芯片,攻到了哪一步?
  • 2026年q2天津闲置酒水回收正规机构实力盘点:天津名贵酒品回收回收/天津洋酒回收/天津礼盒酒水回收/优选推荐 - 优质品牌商家
  • Transformer架构优化与高效计算实践
  • 纤维增强复合材料神经协同优化技术解析
  • 8051汇编DW指令字节序问题与解决方案
  • 工业级神经网络实战:从训练崩溃到稳定上线的工程手册
  • Agent Runtime 重构:Session 作为事件日志的工程实践
  • AI生存期预测:原理、临床边界与伦理实践指南
  • MoE混合专家架构:大模型高效推理的核心原理与工程实践
  • 2026年Q2北京陈年老酒回收机构评测:三家合规实体对比 - 优质品牌商家
  • 巴别鸟vs坚果云:企业云盘同步机制踩坑与实战配置
  • LeetCode--112. 路径总和(二叉树)
  • MADQN实战:在Switch4环境中实现多智能体协同训练
  • 2026年成都999:自贡眼镜、自贡配眼镜、乐山眼镜、乐山配眼镜、南充眼镜、南充配眼镜、巴中眼镜、巴中配眼镜、康利眼镜品牌镜框授权选择指南 - 优质品牌商家
  • 2026年评价高的围墙护栏可靠供应商推荐 - 行业平台推荐
  • AI Agent Runtime 正在成为新基础设施层
  • 用LLM嵌入向量破解工业微缺陷检测的长尾难题
  • Mythos骨架式推理:企业级AI能力治理与因果建模新范式
  • 大模型MoE架构揭秘:如何用2%参数实现万亿级算力调度
  • Predictive Lead Scoring实战:B2B销售线索智能评分与CRM集成
  • 2026年5月餐饮店全屋设计服务商排行及选型参考:餐饮店面装修设计、餐饮空间设计、餐饮设计、餐饮门店装修、饭店装修设计选择指南 - 优质品牌商家
  • 机器学习评估指标实战指南:业务、数据与工程的决策逻辑
  • 小组三
  • 大模型技能训练:从模仿到自主进化
  • C++链接与符号管理
  • Deepseek v3如何实现大模型训练与推理成本下降10倍
  • 深度学习优化器实战指南:SGD、Adam、RMSProp与AdamW选型对比
  • 机器学习论文阅读的解码协议:从扫读到复现的四步实战法
  • BilibiliDown音频提取:如何从B站视频中获取纯净音乐?