Azure - 使用自定义域和 ssl 连接多个应用程序服务容器

标签 azure ssl devops azure-web-app-service azure-app-service-envrmnt

一旦我从我的免费订阅进行升级,我就准备好通过 Azure 使用我的自定义域在线部署我的项目。

那么一点上下文,我有 1 个 Web 应用程序服务和 4 个 API 服务,每个服务都托管在一个单独的应用程序服务中,例如:

www.sitename.azurewebsites.net

www.sitename-api1.azurewebsites.net

www.sitename-api2.azurewebsites.net

www.sitename-api3.azurewebsites.net

www.sitename-api4.azurewebsites.net

上面的网络应用程序与所有 4 个 api 通信,一些 api 可能会也可能不会与另一个通信。 (我会喜欢一个应用程序网关,所以希望我以后会改变这个架构)。

因此,当我准备好将我的域与服务相关联时,Web 容器对我来说似乎非常简单,因为它变成了 www.sitename.com,但我对接口(interface)服务。我的想法是每个 api 服务都在它自己的子域中,例如:

www.api1.sitename.net

www.api2.sitename.net

www.api3.sitename.net

www.api4.sitename.net

我相信我可以通过某种方式将我的 SSL 和域注册到每个应用程序服务,但这给我留下了几个问题。

  1. 我是否将每个 api 托管在与网络使用相同域的子域中? 应用程序,或者是否有其他首选方式,比如我托管它们的地方 都在同一域中,每个 API 和 Web 具有不同的公开端口 监听 80/443,或者可能只是使用 api 应用程序的 IP 地址 服务并允许 www.sitename.com 作为 CORS 的来源?
  2. 我假设,因为我正在将我的 SSL 证书关联到网络 服务,我需要在 API 服务上执行以下操作吗?
  3. 如果我只有一个 VNET 会不会更好(并且仍然负担得起) 关联到应用程序服务和仅注册的域 网络应用程序?

如果我对如何在我的应用程序服务与我的自定义域和 SSL 之间建立通信有任何深入了解,我将不胜感激,因为我对堆栈的这一部分还很陌生,但对学习感到很兴奋!

最佳答案

据我所知,在 Azure 云上,有两种服务可以帮助管理部署在多个应用服务容器上的 API:API ManagementApplication Gateway .

  1. API Management Premium层有多个自定义域名的功能,请看官方文档Feature-based comparison of the Azure API Management tiers如下图。

    enter image description here

    可以引用Create a new Azure API Management service instance的快速入门教程以及其他相关文件以了解如何操作。

  2. “Azure 应用程序网关是一种网络流量负载均衡器,可让您管理网络应用程序的流量。”介绍中说What is Azure Application Gateway? .如下图其体系结构所示,“使用应用程序网关,您可以根据 HTTP 请求的其他属性(例如 URI 路径或主机 header )做出路由决策。例如,您可以根据传入的 URL 路由流量。所以如果/images 在传入 URL 中,您可以将流量路由到为图像配置的一组特定服务器(称为池)。如果/video 在 URL 中,该流量将路由到另一个针对视频优化的池。

    enter image description here

我推荐使用 Azure Application Gateway,这是一个很好的选择来管理多个应用程序服务并公开 API 的统一 url。

关于Azure - 使用自定义域和 ssl 连接多个应用程序服务容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58192938/

相关文章:

testing - Netty SSL 处理程序单元测试

kubernetes - 版本 "DaemonSet"中的种类 "extensions/v1beta1"没有匹配项

t-sql - 重命名 SQL Azure 数据库?

ssl - 将 TLS v1 用于 ArtemisTcpTransport

Azure 二头肌脚本 : Ignore some manual configuration

wcf - 502 Bad gateway WCF 没有响应

azure - 如何将 KeyVault secret 传递到 Azure Pipelines 中的模板或脚本文件?

kubernetes - 更改配置后如何部署发布?

performance - Azure 存储表分区键和行键性能考虑更多唯一值

azure - 4 SSL 证书文件 : what are the differences betwen them? 我应该使用哪一个?