Ist es möglich, eine maximale Upload-Größe in Plack :: Middleware zu erzwingen, ohne den gesamten Inhalt der Anfrage zu lesen?

8

Ich habe gerade eine PageKit (mod_perl) Anwendung auf Plack . Dies bedeutet, dass ich jetzt eine Möglichkeit brauche, um das POST_MAX / MAX_BODY zu erzwingen, das Apache2 :: Requests zuvor behandelt worden wäre. Der einfachste Weg, dies zu tun, wäre wahrscheinlich nur Nginx vor die App zu setzen, aber die App sitzt bereits hinter HAProxy und ich sehe nicht, wie man das mit HAProxy macht.

Meine Frage ist also , wie ich eine maximale Körpergröße in Plack :: Middleware ohne zuerst den ganzen Körper der Anfrage zu lesen ?

Ich mache mir besonders Gedanken über Datei-Uploads. Überprüfen Sie die Größe über Plack :: Request :: Upload ist zu spät , da der ganze Körper an dieser Stelle gelesen worden wäre. Die App wird über Starman bereitgestellt, also psgix.streaming sollte true sein.

    
oalders 17.12.2014, 15:50
quelle

1 Antwort

3

Ich habe eine Antwort von Tatsuhiko Miyagawa erhalten über Twitter . Er sagt: "Wenn Sie mit Starman arbeiten, ist es sogar mit der Middleware zu spät, weil die Pufferung aktiviert ist. Ich würde es mit nginx machen".

Dies beantwortet meine spezielle Frage, wenn es sich um eine Starman-Bereitstellung handelt.

Er bemerkte auch , dass " einen größeren Upload abzulehnen, bevor er im Backend gelesen wurde, kann Probleme im Allgemeinen verursachen "

    
oalders 17.12.2014, 16:48
quelle

Tags und Links