应用程序网关无法使用 AKS 内部负载均衡器将后端流量路由到入口文件中提供的主机

问题描述 投票:0回答:1

我面临应用程序网关+内部负载均衡器的问题,其中基于路径的路由工作正常,但主机名基本路由不起作用,这是在入口中定义的。两个资源都位于同一虚拟网络中。

我已在 DNS 区域中配置应用程序网关的公共 IP,并将所有流量路由到应用程序网关侦听器。

使用以下主机创建应用程序网关监听器

主机1:cricket.mydomain.tech 主机2:football.mydomain.tech

在 AKS 中创建了 nginx 入口控制器,并自动创建了内部负载均衡器并暴露在私有 IP 下,该 IP 我已在侦听器的后端池中进行了配置

在入口控制器中,确实在 AKS 中为 Hello World 应用程序部署了以下两个入口控制器,并生成了带有证书的主机名。

因此,当我使用 cricket.mydomain.tech 打开主机名时,它会打开 hello-world-one 并且工作正常,但当我打开 Football.mydomain.tech 时,它不会打开

打开 http://cricket.mydomain.techhttp://cricket.mydomain.tech/hello-world-one 时的屏幕截图,两个路径都给出正确的结果

打开 http://football.mydomain.tech/hello-world-twohttp://football.mydomain.tech 时的屏幕截图,两个路径均提供以下消息

此处的问题是 AKS 入口控制器未将流量路由到主机名为 Football.mydomain.tech 的第二个子域,或者 nginx 未选取我在侦听器主机名中提供的正确域。有人可以帮忙吗

我按照下面几篇文章来配置它 https://medium.com/@saifeddine.segni94/nginx-ingress-controllers-and-azure-app-gateway-for-azure-kubernetes-service-aks-f18c5be955d0

https://shuanglu1993.medium.com/application-gateway-work-with-aks-via-ssl-9894e7f4a587

azure nginx kubernetes-ingress azure-aks azure-application-gateway
1个回答
0
投票

此错误通常发生在网关无法连接到后端服务器或后端服务器返回无效响应的情况下。

根据>MsDoc如果您有多个域

contoso.com, Google.com,
指向应用程序网关的IP地址。您将创建两个多站点侦听器并为各自的端口和协议设置配置每个侦听器。

创建两个主机名如下的侦听器:

enter image description here

enter image description here

创建 1 个 http 设置,如下所示:

enter image description here

创建两个路由规则并为每个规则添加侦听器,确保为两个路由规则添加后端目标 http 设置,如下所示:

enter image description here

此外,在您的虚拟网络中添加服务端点

microsoft.web
以及您的应用程序网关子网,如下所示:

参考文献

在 Azure 应用程序网关上托管多个站点 |微软学习

排查错误网关错误 - Azure 应用程序网关 |微软学习

© www.soinside.com 2019 - 2024. All rights reserved.