2012-04-09 51 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