Azure 函数发布 URL 无法访问

问题描述 投票:0回答:5

我上次发布大概是三周前,今天,我稍微修改了代码并发布。然后我遇到了下面的错误

发布遇到错误。发布网址 https://functionName.scm.azurewebsites.net/ 无法访问。这 应用程序可能会停止、重新启动或不可用。再试一次 发布目标可用。

我发现的唯一类似帖子建议更正 pubxml 字段

<PublishUrl>https://waws-prod-<something>.publish.azurewebsites.windows.net/</PublishUrl>

<PublishUrl>https://<function-name>.scm.azurewebsites.net/</PublishUrl>

就我而言,它已经是正确的了。

如果我通过 HTTP get 调用该函数,它的行为与往常一样。

我是 Azure 的新手,不确定我是否错过了一些明显的东西。

补充说明

  • 编译成功。
  • 我从不更改 PublishUrl,字段值几乎就是我发布的值。
  • 应用程序正在运行。
  • 登录VS的账号和登录Azure的账号是一样的。
azure azure-functions visual-studio-2019
5个回答
90
投票

在我的例子中与 SCM Basic Auth Publishing Credentials 参数相关:它应该是 On 以允许 Visual Studio 登录并发布函数应用程序。

您可以在 Function App 中的配置 -> 常规设置 -> SCM 基本身份验证发布凭证

下找到此参数

更新2024年6月20日

今天我又陷入了同样的连接错误。在我们的特定情况下,我们正在运行的函数是计划函数。出于安全原因,我们将禁用所有入站流量以及 SCM 基本身份验证发布凭据和 FTP 基本身份验证发布凭据。

我如何修复今天的连接错误:

  • 启用“SCM 基本身份验证发布凭据”参数。
  • 允许该功能的入站流量。就我而言,我只允许我们的公共静态 IP 地址。
  • 重新启动服务。

函数发布后,我禁用了 SCM 参数并禁止入站流量。

注意:如果您可以访问“Azure App Service”页面,则应该能够发布您的函数。此页面基于 SCM 服务(您可以在“开发工具 -> 高级工具”下找到此页面,然后单击“转到”链接)。


1
投票

首先,确保你的函数应用程序可以编译。

第二,你的发布网址格式没有问题。

所以也许这个问题不是来自 Visual Studio 这边。请确保功能应用程序没有停止或重新启动,scm站点不受NETWorking的保护,并且您在VS中登录了正确的Microsoft帐户。

如果以上方法仍然不行,您可以尝试使用其他部署方法。例如commandftp等等

而对于你的情况,如果你只是做一点改变,增量部署可能是更好的选择。


1
投票

就我而言,在浏览器中打开 Azure Functions 应用程序会有所帮助。直到我尝试在 Visual Studio 中发布它时出现错误。


1
投票

当我团队中的其他人删除了函数应用正在使用的存储帐户时,我看到了此错误。由于我不知道此删除,因此很难将错误的详细信息与丢失的存储帐户联系起来。

一旦我重新创建它,使用与函数首次部署期间可以自动创建的存储帐户相同的规格,我就能够重新配置我的函数以使用它,并且我能够从 Visual Studio 再次部署。


1
投票

就我而言,我没有意识到我已经设置了IP限制,因为这是我很久以前发布的功能应用程序,所以显然我的IP此时已经改变了。对我来说,解决方案涉及:

  1. 在门户中选择您的 Azure Function 应用
  2. 在“设置”部分下单击“网络”
  3. 在“入站流量”下,我将“访问限制”设置为“打开”。如果是这种情况,请单击“访问限制”。如果这不是您的情况,那么此解决方案无法解决您的问题。
  4. 我的“不匹配的规则操作”设置为拒绝。在底部,我只有旧 IP 和 API 管理 IP 列为“允许”。
  5. 单击“+添加”,输入任何描述性名称(例如“我的家庭 ip”),确保操作设置为“允许”,设置优先级(在我的情况下优先级并不重要),我跳过了描述,对于类型,我选择了 IPv4,对于 IP 地址块,我输入了当前的 IP 地址。跳过其余设置。
  6. 点击底部的“添加规则”
  7. 之后别忘了点击左上角的“保存”
  8. 不确定是否必须重新启动函数应用程序,我这样做了,因为它对我没有影响。
  9. 我通过 alt-tab 返回 Visual Studio 并再次发布:这次工作完美。
© www.soinside.com 2019 - 2024. All rights reserved.