2012-04-09 50 views
8

我想我的Django项目从Apache安装到Heroku的移动。在这一点上,一切似乎是工作,除了我与使用PATCH HTTP方法(这是我在使用一起选择与Django的tastypie)有一个问题罚款。的Heroku和Django的有405错误

我有一个中间件,它允许这种方法和它的工作的Apache服务器,我以前还上。现在我所得到的是一个405(METHOD_NOT_ALLOWED)错误。常用的HTTP方法仍然有效(GET,POST,DELETE,POST)。我也读过,默认情况下,nginx不支持OPTIONS(也可能是PATCH请求?),必须完成一些配置。从我读过的内容来看,nginx为OPTIONS方法请求返回一个类似的405错误。我也很确定,heroku使用nginx前端,所以这可能是问题。

这使我对我下一个问题:我不知道如何我自己的头添加到它,因为这是所有的Heroku控制。有谁知道到底是什么问题?有什么办法,除了放弃PATCH方法(这使得事情更加方便),获得补丁方法在Heroku上工作?

回答

8

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

+0

我试图用Heroku创建这张支持票,但他们的支持系统回答道:“我们很抱歉,但出了问题。”所以我会在这里发布。 Heroku支持, HTTP PATCH请求正在我的本地开发实例中工作,但在我的Heroku分段实例上失败。你能确认Heroku是否可以支持HTTP PATCH请求? 我发现从今年4堆栈溢出(SO)问题: http://stackoverflow.com/questions/10069871/heroku-and-django-with-405-error – Erik 2012-09-19 16:51:34

+0

这表明,这是Heroku的路由的限制层。在Heroku文档中我没有发现它。 SO问题也表明自定义标题不适用于Heroku,但我已经使用它们没有问题。 – Erik 2012-09-19 16:53:24