it-swarm.com.de

Entität zu groß anfordern

Ich bekomme diese Nachricht 

Request Entity Too Large
The requested resource
/index.php
does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit. 

Ich setze

php_value post_max_size 50M
php_value upload_max_filesize 50M

in .htaccess aber nicht geholfen

Wie kann man das überwinden? 

Vielen Dank

15
Oleksandr IY

Nachdem Sie über das Anheben von PHP memory_limit , post_max_size und upload_max_filesize verfügen, möchte ich Ihnen einige Artikel empfehlen, die sich auf das Thema beziehen, vielleicht löst einer von ihnen das Problem.

Ich habe diesen Post auf Server Fault gefunden:
https://serverfault.com/questions/79741/php-Apache-post-limit/79745#79745

  • sybreon schlägt vor, den Content-Length zu überprüfen und - "sicherzustellen, dass Sie eine direkte Verbindung mit Apache herstellen und nicht über einen Proxy oder einen Reverse-Proxy.) Maximale Größe einer Anfrage als eine Art Sicherheitsmaßnahme. Daher sollten Sie dies sowie Ihre Apache-Protokolle überprüfen, um sicherzustellen, dass nichts anderes passiert. " 

  • sybreon hat auch diesen Link gepostet: Apache 413 Fehlerprobleme .
    .__ Folgendes gilt nur für , wenn Sie mod_ssl module in Apache aktiviert haben. (Andernfalls kann diese Einstellung zu einem Serverabsturz führen.)
    Zitieren des Artikels:
    "Ich habe Apache SSL-Clientzertifikate verwendet, die eine Beschränkung von 128 KB haben. Wenn eine erneute Verhandlung stattfinden muss, schlägt ein größerer POST fehl.
    Dieses Bugzilla-Posting hatte die Hinweise - Sie müssen Folgendes als DEFAULTS für Ihren SSL-Server festlegen, nicht nur das Verzeichnis.
     

    SSLVerifyClient require
    

    Andernfalls erzwingt es eine Neuaushandlung irgendeiner Art und schlägt mit einem Fehler 413 fehl. "

  • Im vorherigen Artikel wurde auch die Direktive LimitRequestBody erwähnt.
    Ein Typ sagt hier, dass die entsprechende Einstellung dieser Direktive sein Problem gelöst hat. .

Ich hoffe, dass eine dieser Einstellungen dieses Problem löst!

12
Sk8erPeter

Das einzige, was für mich funktionieren würde, war die SSL-Puffergröße zu erhöhen. Sie können dies einstellen, indem Sie ...

<Directory /my/blah/blah>
...
  # Set this to something big...
  SSLRenegBufferSize 10486000
...
</Directory>

... und starten Sie einfach Apache neu, damit die Änderung wirksam wird. (Fand dies unter: http://forum.joomla.org/viewtopic.php?p=2085574 )

9
duskstriker

Mein Server ist Apache. Es war das Modul mod_security, das die Veröffentlichung von großen Daten ungefähr 171 KB verhinderte

SecRequestBodyNoFilesLimit 10486000
SecRequestBodyInMemoryLimit 10486000
4
AnkitK

Ich hatte Probleme mit diesem 413 - Request Entity zu großem Problem für den letzten Tag oder so, als ich versuchte, sehr große Bilder (in MB) auf den Server hochzuladen.

Mein Setup besteht darin, dass Apache (227) Anforderungen an den jboss eap (6.4.20) -Server sendet, um auf Rest-Endpunkte zuzugreifen.

2 Dinge haben für mich gearbeitet.

  1. Machen Sie den SSLVerifyClient auf der Ebene des virtuellen Hosts erforderlich. Dies bedeutet, dass alle Ressourcen ein gültiges Client-Zertifikat benötigen, das bereitgestellt werden muss. Dies war keine Option für mich, da alle Ressourcen außer/api NICHT gegenseitig authentifiziert werden sollten. Während es funktionierte, war dies für mich keine Option.

  2. Ich habe das globale Level SSLVerifyClient entfernt und als "optional" beibehalten. Ich habe die erforderliche Option nur für <Location /api>...</Location> aktiviert. Der Trick bestand darin, die SSL-Neuverhandlung erst nach Erreichen eines bestimmten Schwellenwerts durchführen zu lassen - dies wäre unsere gewünschte Upload-Dateigröße.

  3. Schließlich stellte sich heraus, dass ich die Einstellung 'SSLRenegBufferSize' für ein bestimmtes LocationMatch wie folgt aktivieren musste:

    <LocationMatch ^/api/v1/path/(.*)/to/(.*)/resource/endpoint$>
    SSLRenegBufferSize 5242880 #allow upto 5MB for files to come through </LocationMatch>

(. *) steht im obigen Fall für meine Pfadparameter im Endpunkt. Hoffe das hilft.

0
Sumant Shanbag

Wenn "max_post_upload" und "max_file_upload" in PHP festgelegt wurde,... Und es ist eine Einstellung in den Konfigurationsdateien "Apache2.conf" oder "ModSec" von LimitRequestBody festgelegt, die hoch genug ist 

dann funktioniert möglicherweise eine .htaccess-Datei.

  1. Wechseln Sie in das Verzeichnis mit der hochgeladenen PHP-Datei (die Datei oder Seite, die den Fehler verursacht.)

2 Erstellen oder bearbeiten Sie .htaccess

3 . Bearbeiten oder erstellen Sie eine Zeile mit LimitRequestBody 20971520 drin.

  1. Speichern Sie den .htaccess. Berechtigungen festlegen. (644 und Apache-Besitzer)

  2. Starten Sie möglicherweise Apache neu.

Tada Hoffentlich behoben. 

Diese Einstellung legt diese Grenze nur für diesen Ordner fest. Dies ist ein Weg, um eine globale Einstellung in PHP und Apache zu vermeiden, die Sie für große Paket-/Lade-DOS-Angriffe öffnet.

LimitRequestBody 0 ermöglicht unbegrenzte Uploads.

0
Shane