【问题标题】:Azure Web App FTP 550 Access DeniedAzure Web App FTP 550 访问被拒绝
【发布时间】:2018-07-18 18:28:12
【问题描述】:

我正在尝试使用 FTP 将特定文件(不是完整版本)上传到 Azure Web 应用程序。本质上,我使用 PowerShell 脚本将文件通过 FTP 传输到 Azure 中的 Web 应用程序。我可以添加新文件、创建文件和文件夹,但是当我尝试覆盖或删除文件时,我会收到 550 拒绝访问。

我尝试创建一个新的部署凭据并能够登录,但尝试删除任何内容时结果相同; 550 访问被拒绝。

有没有办法向这个用户授予更多权限,或者这是不可能的?谢谢!

【问题讨论】:

  • 您能检查一下您的防火墙是否阻止了传出的 FTP 写入吗?
  • 确保您没有尝试写入只读文件
  • 没有防火墙阻止传出请求,文件也不是只读的。我可以毫无问题地更改文件名。因此,例如,我可以将 web.config 文件更改为 web.config.bak,这可以正常工作。只有当我尝试删除或覆盖文件时才会收到错误消息。此外,如果我 FTP 目录中不存在的文件,它工作正常。所以这确实消除了这两个可能的问题。
  • 尝试使用 KUDU 工具来实现这一点,看看它是否有效,并尝试连接 FTP 主机名而不是 FTPS 主机名,例如 ftp:// 而不是 ftps://,因为协议不同

标签: powershell azure azure-web-app-service


【解决方案1】:

550 Denied 错误,表示您没有足够的权限执行此操作。

您可以下载 Azure 发布配置文件以获取 ftp 用户和密码。 您也可以关注tutorial 获取 FTP 信息。

正如 zahid Faroq 提到的,您可以使用 KUDU 工具 (https://{yoursite}.scm.azurewebsites.net) 轻松地做到这一点。更多关于KUDU的信息,请参考这个document

如果您仍然可以重现该问题,我建议您可以create a support ticket 向 Azure 团队寻求帮助。

【讨论】:

  • Tom,答案是 Azure 中文件本身的权限。我能够使用 KUDU(如建议的那样)更改文件的权限,此时我可以毫无问题地上传文件。谢谢!
【解决方案2】:

检查您没有使用 READ ONL FTP URL。

发布配置文件提供了两个 FTP 网址,底部仅准备就绪,总是会给出 550 错误。

【讨论】:

    【解决方案3】:

    不能覆盖正在运行的应用程序。先停止应用程序,然后上传,然后再次启动应用程序。您可以从 azure 门户或使用 az cli 停止/启动应用程序

    az webapp stop --name %AZURE_APP% --resource-group %AZURE_RESOURCE_GROUP%
    

    az webapp start --name %AZURE_APP% --resource-group %AZURE_RESOURCE_GROUP%
    

    p.s.:有趣的是您可以删除正在运行的应用程序。那么即使已经被删除,你仍然无法上传正在运行的应用程序。

    【讨论】:

    • 这正是在 devOps 管道中发生在我身上的。我以前只是通过运行管道来部署我的网站,我从来没有遇到过先停止网站然后部署的问题。但这至少在这一次有效。
    【解决方案4】:

    我重新启动了服务器,然后我可以删除/更改应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 2018-06-26
      • 1970-01-01
      相关资源
      最近更新 更多