【问题标题】:How can I edit the NGINX configuration on Google App Engine flexible environment?如何在 Google App Engine 柔性环境中编辑 NGINX 配置?
【发布时间】:2018-04-12 19:31:37
【问题描述】:

如何编辑 Google App Engine NGINX 配置?

对于在 Google App Engine 柔性环境中运行的应用程序的 NGINX 配置,Google 文档中似乎没有太多支持。

我的应用程序运行良好,但是当我尝试上传音频文件(.wav 或 .mp3)时出现此 413 错误。

413 Request Entity Too Large -- nginx

我的应用正在运行 Django (python 3),并启用了 Cloud Postgres SQL 和 Cloud Storage。

我研究了这个错误,似乎我可以设置一个 nginx.config 文件,使其包含“client_max_body_size 80M” - 但就像我说的,没有关于如何在部署时手动配置 NGINX 的文档。

有什么建议吗?

【问题讨论】:

    标签: python django google-app-engine nginx


    【解决方案1】:

    您应该能够在与您的 app.yaml 文件相同的目录中创建一个 nginx-app.conf 文件。这里有一个在 Flex 环境中使用 nginx 配置文件的示例:https://github.com/GoogleCloudPlatform/getting-started-php/tree/master/4-auth

    在此处的 Google 文档中引用了相同的文件:https://cloud.google.com/appengine/docs/flexible/php/runtime#customizing_nginx

    创建该文件后,您应该能够添加所需的任何属性,然后重新构建项目以查看更改生效。

    【讨论】:

    • 感谢您的回复-您介意链接教程页面吗?我必须等到今晚才能测试这个解决方案。
    • 是的,请参阅编辑。添加后该文件应该没有什么特别之处
    • 感谢您的更新 - 所以我还在谷歌客户论坛上发布了这个问题,其中一位支持人员说 App Engine 仅允许最大上传 32MB。所以我将不得不稍后更新它 - 再一次 - 看看我是否真的可以改变这个设置。你以前有没有偶然这样做过?
    • 我不确定 Python 中的等价物是什么,但在 PHP 中,您可以使用 createUploadURL() (cloud.google.com/appengine/docs/standard/php/refdocs/classes/…) 创建云存储 URL。我相信 32MB 的限制是 App Engine 的 blob 存储而不是云存储
    • 默认文件是什么样的?
    【解决方案2】:

    所以在联系 Google 支持后,建议上传大于 32MB 的文件的解决方案如下:

    "绕过 App Engine 的 32MB 限制的方法是将请求直接发送到 Cloud Storage,例如使用 resumable upload 进程。您仍然可以使用 App Engine 为您的应用程序提供服务,但客户端部分该应用将是处理上传到 Google Cloud Storage 的应用。为此,您可以让您的应用生成一个 signed URL,客户端可以使用它来访问您的 Cloud Storage 存储桶以上传图片。"

    我选择了这个解决方案。它最终会省钱。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      • 2018-08-21
      • 2018-11-28
      • 2018-10-14
      • 2021-01-29
      • 2018-03-29
      • 2017-09-30
      相关资源
      最近更新 更多