k8s ingress 配置后访问返回502的问题

1. 问题

如上图所示,我在K8S集群中,创建了一个Ingress-nginx,用来反向代理service,另外,因为我在安装Ingress的时候,设置了hostNetwork: true和dnsPolicy: ClusterFirstWithHostNet,因此是可以直接通过配置hosts,然后通过域名去访问的,配置如下

192.168.1.100 k8s.api.myapp.cn

然而,遇到了一个诡异的情况,我在其他linux主机上,是可以直接通过域名去访问到服务的。

但是,在我的Windows主机就出问题了,直接返回502,而且看Ingress的日志是直接没到Ingress服务的。另外,我在主机的Wsl中,却可以正常访问。

2. 问题解决

根据上面的现象,可以猜测请求在主机端就已经给转发到别的地方去了,最大的可能是因为你开了代理,因此可以先关闭掉代理再尝试一下,我就是遇到了这个问题。

解决方法也很简单,打开代理软件,配置系统代理绕过的域名/IP网段,以Clash为例,这个配置在“设置-系统代理-系统代理绕过的域名/IP网段”,然后只要将你的域名配置上去即可。

如果不是代理的问题,则需要使用抓包工具进行抓包并分析了。

(完)

posted @ 2023-09-04 17:03  大师兄啊哈  阅读(1386)  评论(0编辑  收藏  举报