Ich mache einen Beitrag mit dem Requests-Framework auf einem Arbeiter-Thread (Sellerie mit RabbitMQ als Broker). Es funktioniert die meiste Zeit gut, aber gelegentlich bekomme ich eine 413 (Anfrage Körper zu groß Fehler). Mir wurde mitgeteilt, dass client_max_body_size in nginx auf 50M eingestellt ist, aber trotz der größten Postgröße von nur 3MB schlägt der Post gelegentlich immer noch fehl. Irgendwelche Ideen, warum das passieren könnte?Fehler 413 auf Posts mit Anfragen in Sellerie Task
Antwort
Sie haben die Server-Direktive für den Webserver, der Port 80 überwacht, eingefügt. Port 80 wird traditionell für HTTP-Verkehr verwendet. Wenn Ihre Anwendung jedoch https anstelle von http verwendet, müssen Sie sie in die Server-Richtlinie aufnehmen und Port 443 überwachen, der auch https bedient.
server {
listen 443;
server_name www.***.com;
client_max_body_size 50M;
.....
EDIT:
Als Antwort auf Ihre Klarstellung in den Kommentaren (die seit dem entfernt zu haben scheinen worden ist), würde Ich mag das Problem erklären Sie sich auf einem sehr hohen Niveau sind zu erleben.
Die Situation Sie stoßen mit diesem Diagramm beschrieben:
Der problematische Teil des Prozesses ist der rote Pfeil, weil manchmal Sie einen 413-Fehlercode erhalten, wenn Sie ein großen Objekt auf einem anderen Server.
Die nginx.conf
, die Sie auf Ihrem Server ändern können, wirkt sich nicht auf der rote Pfeil. Es wirkt sich vielmehr auf den gestrichelten grünen Pfeil . Der gestrichelte grüne Pfeil ist eine mögliche POST-Anforderung von Ihrem Sellerie-Arbeiter an Ihren eigenen nginx-Server.
Zum Beispiel möchten Sie vielleicht, dass der Selleriearbeiter ein Profilbild Ihres Benutzers mit einem rechenintensiven Algorithmus verarbeitet und den Upload daher asynchron auslöst, nachdem er in Ihrem Selleriearbeiter verarbeitet wurde. Die POST-Anfrage würde dann auf eigene Domain http://yourdomain.com/profile_upload
gerichtet werden, die von Ihrem nginx.conf
betroffen ist.
Die ausgehende Anfrage an einen anderen Server unterliegt nicht der nginx.conf
Ihres Servers.
Um dieses Problem zu umgehen, sollten Sie mit dem Administrator des Servers, zu dem Ihre Anfrage geht, sprechen und sie bitten, die client_max_body_size
auf ihrem Server zu erhöhen.
Es muss in der Server-Konfiguration sein, in der du poste. –
- 1. Sellerie Task nicht ausgeführt
- 2. Sellerie Task Chain Cancelling?
- 3. löschen Task/PeriodicTask in Sellerie
- 4. Sellerie: Protokollmeldungen von Task auf Webserver anzeigen?
- 5. Probleme bei der Planung und Umplanung von Posts mit Sellerie
- 6. Sellerie Task Clean-up mit DB-Backend
- 7. Task Name von Sellerie AsyncResult
- 8. 413 Fehler Bing Rede
- 9. Sellerie @task nicht mit Instanzmethoden funktioniert
- 10. Nginx Fehler 413
- 11. Explizit eine Sellerie Task fehlschlagen
- 12. Dekorateur nach @task Dekorateur in Sellerie
- 13. PyDev erkennt Sellerie Task Decorators nicht
- 14. wie Tensorflow-Modell in verschiedenen Sellerie Task Worker teilen
- 15. Sellerie - Wie Task von Remote-Maschine senden?
- 16. Getting TypeError: 'Modul' Objekt ist nicht auf Sellerie Task Decorator
- 17. Tun Sie etwas auf jeder Sellerie Task Lauf
- 18. Sellerie - Task-ID für aktuelle Aufgabe abrufen
- 19. Django/Sellerie - Sellerie Status: Fehler: Keine Antwort innerhalb der Zeitbeschränkung
- 20. PostgreSQL-Verbindungen in Sellerie-Task für Flask-SQLAlchemy und Sellerie richtig verwalten
- 21. Dynamisches Importieren eines Moduls in eine Sellerie-Task
- 22. Wie Task aus Sellerie mit Redis Broker entfernen?
- 23. Wie zu vermeiden Anfrage Entity Too Large 413 Fehler
- 24. Abrufen des Ergebnisses von 'task_id' in Sellerie von unbekannter Task
- 25. Weird-Fehler mit Redis und Sellerie
- 26. Wie lösen "Httpexception: Fehler 413" (Sonarqube)
- 27. 413: Request Entity zu großen Fehler auf IIS-Webservice
- 28. Dateigröße zu groß für Nginx, 413 Fehler
- 29. So verhindern Sie doppelte Protokollierung von einer Sellerie-Task
- 30. Sellerie: Mehrfachimport als Fehler
Sind Sie mit http oder https? –
Machst du die Post-Anfrage an den gleichen Server (wo django läuft)? –