无法将 Node js 应用程序部署到 Azure ("do not have permission")

Cannot deploy Node js app to Azure ("do not have permission")

我有一个类似 Wordle 的应用程序,我想使用 Azure 进行部署。回购 here。它是一个流行的开源项目的分支,我也可以在本地构建和 运行 游戏。在本地,它 运行 非常完美。

我正在尝试使用 Azure App Services 来部署它,使用 Github 操作。所有的Action都通过了,App就可以构建成功了。但是,当我尝试查看部署 here 时,我收到的唯一错误是

You do not have permission to view this directory or page.

因为它 运行 在本地,并且它通过了它的 github 动作构建,我不知道如何在这里进行。我已尝试重新启动该应用程序,并更改我用来托管它的资源,但这不起作用。其他一些答案似乎表明问题在于它没有找到 index.html,但我可以通过 https://shetland-wordle.azurewebsites.net/public/index.html 访问它并且页面是空白的。

如果我在 Azure 调试器中查看 wwwroot/,我会看到以下文件结构:

如有任何帮助,我们将不胜感激

You do not have permission to view this directory or page.

  • 我们可以将默认页面设置为 Windows Azure Web App。
  • web.config 中,在 System.WebServer 部分指定默认页面。
  • 如果您没有 web.config,请在 Azure 门户中创建一个 => 您的 Web 应用程序 => 高级工具 => 转到 => 调试控制台 => CMD=> 站点 => wwwroot 文件夹。
<system.webServer>
  <defaultDocument>
      <files>
        <clear/>
        <add value="index.html"/>
      </files>
  </defaultDocument>
<system.webServer>  
    

您的 index.html 将被视为网站的默认文档,因此将在客户端请求根 URL.

时提供

  • 如果文件显示在 /wwwroot/your-app-folder/ 下,您可能会遇到此权限问题。
  • 确保您的 index.htmlwwwroot 文件夹下
  • 在项目根文件夹中添加 default document 并在 Azure 门户的 appsetting 中将其设置为默认页面并保存 设置。

The default document is the web page that is displayed at the root URL for a website.

  • 导航到 KUDU url: https://<your app name>.scm.azurewebsites.net/DebugConsole 并转到 site\wwwroot 检查文件是否包含在目录中。

  • 如果您发现任何文件丢失,re-deploy 应用程序。

更多信息请参考类似问题S1 , and

原来 package.json 有点奇怪。我需要更改我的反应脚本的路径:

"start": "node_modules/react-scripts/bin/react-scripts.js start"

不确定这样做是否是好的做法,但现在可以了