Ich versuche mein Django-Projekt von einem Apache-Setup zu Heroku zu bewegen. An diesem Punkt scheint alles in Ordnung zu sein, außer für ein Problem, das ich mit der PATCH Http-Methode (die ich in Verbindung mit Django-Tastypie verwende) habe.
Ich habe ein Stück Middleware, das diese Methode erlaubt, und es funktionierte auf dem Apache-Server, den ich vorher hatte. Jetzt bekomme ich nur einen 405 (METHOD_NOT_ALLOWED) Fehler. Die üblichen HTTP-Methoden funktionieren immer noch (GET, POST, DELETE, POST). Ich habe auch gelesen, dass nginx OPTIONS (und möglicherweise PATCH-Anfragen?) Standardmäßig nicht unterstützt und einige Konfigurationen vorgenommen werden müssen. Von dem, was ich gelesen habe, gibt nginx einen ähnlichen 405-Fehler für OPTIONS-Methodenanforderungen zurück. Ich bin mir auch ziemlich sicher, dass Heroku ein Nginx-Frontend verwendet, das könnte das Problem sein.
Das führt mich zu meiner nächsten Ausgabe: Ich habe keine Ahnung, wie ich meine eigenen Header hinzufügen soll, weil das alles von Heroku gesteuert wird. Weiß jemand genau, was das Problem ist? Gibt es eine Möglichkeit, abgesehen von der PATCH-Methode (was die Dinge viel bequemer macht), die PATCH-Methode auf Heroku arbeiten zu lassen?
Patch wird derzeit auf Heroku nicht unterstützt. Dies liegt nicht an einem Nginx-Problem, sondern an einem Problem in der Routing-Schicht. Es ist etwas, an dem Heroku gerade arbeitet, aber es ist keine ETA verfügbar. Darüber hinaus haben Sie nicht die Möglichkeit, benutzerdefinierte Header hinzuzufügen, da diese für Sie gesteuert werden.
Tags und Links django http heroku tastypie http-status-code-405