自定义K8S nginx ingress 重定向配置

自定义K8S nginx ingress 重定向

背景描述

一个前端工程,此前采用的方案是:

Nginx反向代理 + Docker 应用服务;

后面统一升级为K8S方案:

SLB + Nginx Ingress + K8s deployment

迁移后,出现浏览器空白,控制台报错:

Mixed Content: The page at ‘https://a.com’ was loaded over HTTPS, but requested an insecure resource ‘http://a.com’. This request has been blocked; the content must be served over HTTPS.

在这里插入图片描述

kubernetes nginx ingress 301 was loaded over HTTPS, but requested an insecure frame

问题定位

在这里插入图片描述
具体问题就是,301重定向时,没有指定为https

此前Nginx反向代理配置为:
在这里插入图片描述
关键配置为,上图红框中的proxy_redirect

迁移后nginx ingress 生成的配置为:
在这里插入图片描述

修复方法

官方参考文档

在ingress 注解中添加两个字段:

nginx.ingress.kubernetes.io/proxy-redirect-from: http://
nginx.ingress.kubernetes.io/proxy-redirect-to: $scheme://

在这里插入图片描述

Kubernetes Ingress-Nginx是一个在Kubernetes集群中使用的开源Ingress控制器。它允许将外部流量引导到Kubernetes集群内部的服务。下面是它的一些主要特点和详解: 1. 灵活性:Ingress-Nginx支持多种配置方式,包括基于注解的配置自定义资源定义(CRD)以及基于配置文件的方式。这使得用户可以根据自己的需求选择最适合的方式来配置Ingress规则。 2. 可扩展性:Ingress-Nginx可以通过水平扩展来处理高负载的流量。它使用Nginx作为反向代理服务器,可以根据需要进行水平扩展,并通过负载均衡来分发请求。 3. SSL/TLS支持:Ingress-Nginx支持通过TLS/SSL来保护传输的数据。它可以配置证书和私钥,从而实现安全的通信。 4. 负载均衡:Ingress-Nginx可以根据不同的负载均衡算法来分发流量。它支持轮询、IP哈希、最少连接等负载均衡算法,并且可以根据需要进行自定义配置。 5. 基于名称的虚拟主机:Ingress-Nginx支持基于名称的虚拟主机(Virtual Host)。通过配置不同的主机名和路径规则,可以将流量引导到不同的服务。 6. HTTP/HTTPS重定向Ingress-Nginx可以配置HTTP到HTTPS的重定向,从而确保所有的流量都是通过安全的通道传输。 7. 基于URI的请求路由:Ingress-Nginx可以根据请求的URI来进行路由。这使得可以根据不同的URI将流量引导到不同的后端服务。 8. 支持WebSocket:Ingress-Nginx对WebSocket协议有良好的支持。它可以转发WebSocket请求,并在需要时进行负载均衡。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值