增加在 Azure 上运行的 Dockerized ASP.NET Core 站点的最大上传大小限制?

fdm*_*ion 5 azure kestrel azure-web-app-service asp.net-core

以下是应用程序的架构:

  • 使用 ASP.NET Core 编写的 Web API。
  • Dockerfile 使用 构建 Web 应用程序microsoft/dotnet:2.1-sdk并使用 执行 API microsoft/dotnet:aspnetcore-rumtime。该应用程序被编译并放入/app.
  • 启动 API 所执行的命令是:ENTRYPOINT ["dotnet", "/app/WebAPI.dll"]
  • 此 API 部署到 Azure 容器注册表(Docker 注册表)。
  • Azure 应用服务用于托管 API。应用服务配置为从 ACR 中提取给定容器。
  • API 完全按照预期运行。

问题是我们需要接受大于 IIS 和 Kestrel 规定的 28.6MB 限制的帖子正文大小。我们已尝试此 URL 上的方法,但没有成功:https://www.talkingdotnet.com/how-to-increase-file-upload-size-asp-net-core/

  • 将 Web.config 文件添加到项目中并没有帮助,因为容器中运行的 ASP.NET Core 运行时不会拾取该文件。(容器内只有 Kestrel 正在运行)
  • 添加[RequestSizeLimit]属性并不能解决问题,因为我相信实际的限制发生在 Azure 级别。
    • 如果我理解正确的话,在容器内的 Kestrel 上运行的 Dockerized ASP.NET Core 应用程序是从 Azure IIS 服务器进行反向代理的。因此 IIS 服务器可能存在 28.6MB 限制。
  • 设置大小限制UesKestrel也没有效果。
  • 当我们尝试实现“中间件”解决方案时,我们发现这不是页面代码中给出的对象Features的属性。context

我们需要知道如何增加最大帖子大小。如果这是在整个应用服务计划级别,则可以。由于我们正在运行容器,因此我们不知道可以在哪里放置具有适当设置的 Web.config 文件。

Ahm*_*met 0

如果您在 Azure 上使用 Kubernetes,而不是 Azure 应用服务,则可以上传超过 100MB 的数据,不会出现任何问题。https://azure.microsoft.com/en-us/services/kubernetes-service/