2012-04-09 19 views
8

私はdjangoプロジェクトをherokuにApacheの設定から移動しようとしています。この時点で、私はPATCH Httpメソッド(これは私がdjango-tastypieと組み合わせて使用​​する)を使用している問題を除いて、すべてが正常に動作しているようです。405エラーのあるHerokuとDjango

私はこの方法を可能にするミドルウェアを持っています。これは、以前持っていたApacheサーバーで動作しました。 405(METHOD_NOT_ALLOWED)というエラーが出ます。一般的なHTTPメソッドは引き続き動作します(GET、POST、DELETE、POST)。私はまた、nginxはOPTIONS(そしておそらくPATCHリクエスト?)をサポートしておらず、デフォルトでいくつかの設定が行われていることを読んでいます。私が読んだことから、nginxはOPTIONSメソッドのリクエストで同様の405エラーを返します。私はまた、herokuがnginxフロントエンドを使用していることを確かめているので、それが問題になる可能性があります。

これは私の次の問題につながります。私はそれがすべて英雄によって制御されているので、自分のヘッダーを追加する方法はわかりません。誰が問題が何であるか正確に知っていますか?どの方法でも、PATCHメソッドを放棄することを除けば(これはもっと便利です)、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

+0

これはHerokuののルーティングの制限であることを示唆しています層。私はHerokuのドキュメントでそれについて言及していません。 SOの質問はまた、カスタムヘッダーがHerokuで動作しないことを示唆していますが、問題なく使用しています。 – Erik