问题大纲
Azure Function App 集成到 VNET 后无法访问,并且 WEBSITE_VNET_ROUTE_ALL 设置为 1。
这是必需的,以便 Function App 可以安全地连接到 SQL,而无需公开 SQL。
错误:
无法列出功能应用程序键。

来自同一网络中 VM 的 HTTP 请求 (CURL) 失败:504 网关超时

架构图

重现步骤
- 创建资源组
- 创建具有 10.20.11.0/26 地址空间的 VNET
- 为Function App创建子网集成到地址范围10.20.11.0/27
- 创建一个 Linux Function App 并集成到您在步骤 2 中创建的 VNET 中。
- 看到 App 键仍然正常加载。
- 为数据库创建一个地址范围为 10.20.11.32/27 的子网
- 创建 SQL Server 和 SQL 数据库。
- 在数据库上创建带有 DNS 区域的私有链接并限制公共访问。
- 将 DNS 区域链接到在步骤 2 中创建的 VNET。
- 函数应用将 SQL 私有链接解析为公共 IP 地址。
- 在 Function App 配置中,添加一个 Application 设置 WEBSITE_VNET_ROUTE_ALL 并将其设置为 1。
- 看到函数应用程序现在将 …