azure - 使用应用服务环境时,我是否需要自己的 DNS 服务器来从 API 管理到应用服务以及应用服务之间进行通信?
问题描述
我的应用服务环境中有多个应用服务。我们称它们为 A、B 和 C。
我在应用服务环境所在的同一 VNet 中也有一个 Azure Api 管理。
我需要的是让 Api Management 到达 A、B 和 C。我还需要在 App Service A 和 B 之间进行通信。
这可以在不使用自己的 DNS 服务器的情况下完成吗?如果是这样,怎么做?
解决方案
您应该能够使用每个应用程序的 FQDN,a。asebaseurl , b。asebaseurl等。如果您要通过其他设备(例如应用程序网关),则需要确保传递主机标头。
Azure App 服务 Web 应用程序和 Azure API 管理等服务本质上是多租户的,并且依赖特定的主机标头或 SNI 扩展来解析到正确的端点。通常,应用程序的 DNS 名称,即与应用程序网关关联的 DNS 名称,与后端服务的域名不同。因此,应用网关收到的原始请求中的主机头与后端服务的主机名并不相同。因此,除非从应用程序网关到后端的请求中的主机头更改为后端服务的主机名,否则多租户后端无法将请求解析到正确的端点。
https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-web-app-overview
推荐阅读
- python - 如何使用 EMR 集群增加 Spark 应用程序运行容器的数量?
- javascript - jQuery:获取html元素的正常JS格式
- asp.net-mvc - CLRThreadPoolQueue 中的大部分请求
- mysql - #2006 - MySQL 服务器已消失/仅在某些数据库中
- nestjs - NestJS 处理服务异常
- react-native - 刷新路线 - 仅在显示屏幕时渲染屏幕(已修复)
- java - 如何根据变量延迟 Spring Bean 初始化
- python-3.x - 在 Python 中使用索引和标签迭代列表
- python - 如何在保持顺序的同时重塑数组?
- c++ - 带指针的结构的间接原子交换