0

在此处输入图像描述

大家好!

正如您在图片中看到的那样,这基本上就是我正在计划的架构,但我有一些疑问。我需要创建一个可公开访问的 API 层,该层还需要通过 Express Route 访问本地 SQL 数据库。Express Route 连接已经建立。

经过一番挖掘,我发现为了让 Web API 访问本地数据库,我需要将使用 VNet 集成托管 Web API 的应用服务与与 Express Route 连接的虚拟网络集成。但是,我有几个问题。

  1. VNet 集成是否足以在 Web API 和本地数据库之间建立成功的 TCP 1433 通信?如果没有,请让我知道我应该配置哪些其他服务?
  2. 我会失去对 Web API 的公共访问权限吗?如果是这样,公开 Web API 的最佳方式是什么?

感谢您的帮助,感谢您抽出宝贵的时间!

4

1 回答 1

1
  1. 您可以使用 VNet 集成,但您可能还想看看在您的数据库上简单地设置防火墙限制。您可以为 Azure 应用服务的 IP 范围开放对数据库的访问。根据您使用的应用服务计划,您可能希望将其列入白名单,其中包含 10 到 15 个出站 IP 。这使您的 API 可以访问数据库,同时数据库仍受到保护,不会被公共访问。
  2. 如果您想让您的 API 可公开访问(至少在某些路由上),您需要向所有人开放您的 API。我认为最好的方法是为您要保护的路线设置授权。例如使用令牌/持有者身份验证。这样,您可以使您的 API 可访问,但您需要对某些路由进行身份验证。您可以在 Angular JS 应用程序中使用Auth0或其他OpenID 提供者之类的方式处理身份验证。
于 2021-06-19T14:40:16.680 回答