【问题标题】:Heroku and Django with 405 errorHeroku 和 Django 出现 405 错误
【发布时间】:2012-04-21 15:05:50
【问题描述】:

我正在尝试将我的 django 项目从 apache 设置转移到 heroku。在这一点上,除了我在使用 PATCH Http 方法(我与 django-tastypie 结合使用)时遇到的问题外,一切似乎都运行良好。

我有一个允许这种方法的中间件,它可以在我以前的 apache 服务器上运行。现在我得到的只是 405 (METHOD_NOT_ALLOWED) 错误。常见的 HTTP 方法仍然有效(GET、POST、DELETE、POST)。我还读到 nginx 默认不支持 OPTIONS(可能还有 PATCH 请求?),并且必须进行一些配置。根据我的阅读,nginx 为 OPTIONS 方法请求返回了类似的 405 错误。我也很确定 heroku 使用的是 nginx 前端,所以这可能是问题所在。

这引出了我的下一个问题:我不知道如何向其中添加我自己的标题,因为这一切都由 heroku 控制。有谁知道确切的问题是什么?除了放弃 PATCH 方法(这让事情变得更方便)之外,还有什么方法可以让 PATCH 方法在 heroku 上工作?

【问题讨论】:

    标签: django http heroku tastypie http-status-code-405


    【解决方案1】:

    Heroku 目前不支持补丁。这不是由于 nginx 问题,而是由于路由层中的问题。这是 Heroku 目前正在做的事情,但没有可用的 ETA。此外,您无法添加自定义标题,因为这些标题是由您控制的。

    【讨论】:

    • 我尝试使用 Heroku 创建此支持票证,但他们的支持系统回复说“我们很抱歉,但出了点问题。”所以我会把它贴在这里。 Heroku 支持,HTTP PATCH 请求在我的本地开发实例中工作,但在我的 Heroku 暂存实例上失败。您能否确认 Heroku 可以或不支持 HTTP PATCH 请求?我从四月发现了这个 Stack Overflow (SO) 问题:stackoverflow.com/questions/10069871/…
    • 这表明这是 Heroku 路由层的限制。我在 Heroku 文档中没有提到它。 SO问题还表明自定义标头不适用于Heroku,但我使用它们没有问题。
    猜你喜欢
    • 2019-02-18
    • 2020-11-07
    • 2020-05-30
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2014-01-10
    • 2014-11-20
    • 1970-01-01
    相关资源
    最近更新 更多