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

bpsygsoo  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(94)

我正面临着一个问题与应用网关+内部负载均衡器的路径为基础的路由是完美的工作,但主机名为基础的路由是不工作,这是定义在入口。这两个资源都在同一个虚拟网络中。
我已经在DNS区域中配置了应用网关的公共IP,并将所有流量路由到应用网关侦听器。
已使用以下主机创建应用程序网关列表程序
主机1:cricket.mydomain.tech主机2:football.mydomain.tech

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

在Ingress控制器中,为AKS中的Hello World应用程序部署了两个Ingress控制器,并生成了带证书的主机名。

因此,当我用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 Ingress控制器没有将流量路由到主机名为www.example.com的第二个子域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

xzlaal3s

xzlaal3s1#

此错误通常发生在网关无法连接到后端服务器或后端服务器返回无效响应的情况下。
根据> MsDoc如果你有多个域contoso.com, Google.com,指向应用网关的IP地址。您将创建两个多站点侦听器,并为每个侦听器配置相应的端口和协议设置。
创建两个具有如下主机名的侦听器:

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

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

此外,在您的虚拟网络中添加服务端点microsoft.web和您的应用网关子网,如下所示:

  • 参考资料 *:

在Azure应用程序网关上托管多个站点|微软学习
Troubleshoot Bad Gateway errors - Azure Application Gateway | Microsoft Learn

相关问题