Kubernetes ingress-nginx 通配符 (_) hostname 在 ingress hostnames 之前

Kubernetes ingress-nginx wildcard (_) hostname is before ingress hostnames

似乎 ingress-nginx-controller 已经为 wildcard/default 主机名设置了服务器配置,即 'server_name _;'。该服务器位于配置中的其他主机之前,我相信这会导致所有请求转到 404(因为没有定义默认后端)。

一个入口控制器内有 3 个入口服务,都在这个默认主机下。所有 3 项服务都发送到 404。当我手动删除它并重新加载时,下一个主机是所有流量的定向位置。我不确定这是否是主机上的 nginx 实例的问题。

我发现了问题,在主机的 nginx 服务器上,我没有使用代理传递转发主机 header,因此它总是被第一台主机捕获。