我已经设置了一个位于 VNET 内的容器应用环境。需要通过应用程序网关从外部访问其中的容器。按照此 learn.microsoft 页面中的步骤操作并没有得到我需要的结果:
https://learn.microsoft.com/en-us/azure/container-apps/waf-app-gateway?tabs=default-domain
设置后,应用程序网关会执行其工作,如果我按照其公共 IP,则会重定向到容器应用程序的 FQDN。我的问题是客户端无法访问所述容器。由于它位于 VNET 后面,因此每个请求都会错误名称未解决或者换句话说,由于容器位于私有网络内,因此可以找到其 IP 地址。
该文件第一段写道:“在 Azure 容器应用中托管应用或微服务时,您可能并不总是希望将它们直接发布到 Internet。相反,您可能希望通过反向代理公开它们。“,反向代理是应用程序网关。
如何让位于 VNET 后面的容器可供想要通过应用程序网关访问它的外部客户端访问?
如果您需要任何其他信息,请直接询问,我会很乐意为您提供。
感谢您的阅读和帮助。
答案1
当您使用“内部”网络配置配置容器应用时,提供的 FQDN 不起作用,这仅适用于外部访问。请参阅这里:
设置为内部时,环境没有公共终结点。内部环境部署时,虚拟 IP (VIP) 映射到内部 IP 地址。内部终结点是 Azure 内部负载均衡器 (ILB),IP 地址从自定义 VNet 的私有 IP 地址列表中发出。
您需要将应用程序网关设置为解析为容器应用程序的私有 IP,或者创建一个为该 IP 创建名称的私有 DNS 区域,然后指向这些名称。