Upload über iOS Share-Funktion klappt nicht - Meldung 413 Datei zu groß in der App selbst geht es

Hallo zusammen,

Ich habe die uploadgrenze in den php Einstellungen auf dem Server schon erhöht, und wenn ich eine Datei direkt in der App oder über die Weboberfläche von Netxloud ein Bild hochladen, dann geht das ohne Probleme. Wenn ich jedoch ein Bild über die iOS Share-Funktion hochladen möchte, dann kommt die Meldung „413 Datei zu groß“

Wie groß ist deine Datei?

Ich konnte es bei mir nicht reproduzieren. Es konnte alles Hochgeladen werden.
Daten:

  • iPhone XR (iOS 14)
  • Nextcloud App (3.0.6.8)
  • Bild in unterschiedlichen größen (48 kB, 911 kB, 1,6 MB, 4,8 MB)

Ich glaube 4 MB, nicht größer. Aber der Upload ist am Server auf 2G eingestellt. Wie gesagt, nur über die Share-Funktion geht es nicht, in der App selbst und über die Weboberfläche geht es.

Jetzt bekomme ich aber nicht mehr den Fehler dar die Datei zu groß ist (habe nirgendwo Einstellungen verändert) sondern das ich angeblich keine Berechtigung habe, auch hier geht es direkt in der App und der Weboberfläche, nur über die Share-Funktion nicht.

403 sagt ja aus, dass hier die Berechtigung fehlt. Kannst du dich mal in deine App neu Einloggen, damit iOS die Daten neu übernimmt. Vielleicht ist es ja ein iOS Fehler, da du ja bereits geschrieben hast, dass es in der App sowie über das WebGUI funktioniert.

Habe die App mal gelöscht, neu installiert und mich erneut angemeldet, es hat leider nicht geholfen.

Auch mit der Beta über TestFlight geht es nicht.

Jetzt bekomme ich aber auch wieder den Fehler das die Datei zu groß ist.

Sehr komisch, dann kann ich dir leider nicht weiterhelfen. :thinking:

Ja es ist echt komisch, vor allem weil es nur über die Share-Funktion nicht geht. Ich habe auch iOS 14 drauf.

@Foxly jetzt erhalte ich wieder diese Meldung:

Hast du evtl. Server Logs die du dir angucken kannst, wenn das fehlschlägt?

Hi!

Die Möglichkeit hätte ich, aber ich wüsste nicht wo, also in welcher Datei.

Müsste ja ein Error, Apache oder nginx log vorhanden sein.

Okay, ich mache später mal ein „tail -f“ auf den Dateien während ich eine Datei versuche hochzuladen.

@Foxly, error.log in “var/log/” habe ich nicht. Und der Log vom Apache oder nginx rührt sich nicht wenn ich etwas hochlade, also da kommt dann keine Aussage die dazu passen würde.

Edit:
Habe was …

[Fri Sep 18 15:23:48.640225 2020] [:error] [pid 27665:tid 139994511415040] [client XX.XX.XX.XX:46508] [client XX.XX.XX.XX] ModSecurity: Request body no files data length is larger than the configured limit (1048576)… Deny with code (413) [hostname “xyz.domain.com”] [uri “/nextcloud/remote.php/webdav/Treffen (test)/IMG_6276.jpg”] [unique_id “X2SXXXXH8XXXXEAAGwRtXXXXAAX”]

Im error.log des jeweiligen Hosts wo die Seite drüber läuft wurde es geloggt. Also in “/var/www/vhosts/domain.com/logs/xyz.domain.com”

Es liegt an ModSecurity. Jetzt muss ich mal sehen, wie ich das Problem lösen kann, ohne ModSecurity komplett auszuschalten. Was hat ModSecurity damit eigentlich zutun? Auf dem Server ist Plesk 18.0.30 installiert.

PS: Wollte den Log Vorformatierten Text einfügen, aber dann wäre er in einer Reihe gewesen, also zu lang. Geht das hier auch anders?

Tools & settings > Web Application Firewall (ModSecurity) > Settings > Custom directives :

SecResponseBodyLimit 67108864

Sollte das Problem lösen. Hätte ich vorher gewusst das du Plesk nutzt ^^

Jop, hätte ich mal besser deine Webseite vorher angeschaut, dann hätte ich vorher gewusst das Du dich mit Plesk auskennst ^^

Ich habe die Regel schon gegooglelt und vorhin eingetragen (SecRequestBodyNoFilesLimit 10485760), nun kommt nicht mehr das die Datei zu groß ist, aber dieser Fehler:


AH01276: Cannot serve directory /var/www/vhosts/domain.com/xyz.domain.com/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm,index.shtml) found, and server-generated directory index forbidden by Options directive

[client XX.XX.XX.XX] ModSecurity: Access denied with code 403 (phase 2). Pattern match “<\\?(?!xml\\s)” at ARGS:q\x92vp\x12\x13L\xa8$\x8d1\xc1\x98N\xe2$\x0e\tPy\x9d\xc0\x86\xb9M\xc2\x9dEw\xf8\xa3\xc5E\xacg\x06i{V\xa3U4\x1a\xdd\xad?\x98\x915B\x97\xd6\x1dt\xf1\xa0l\xe8\xc9ZQ\xf63\xdb\xda\xe5\xceE\xa3\xb0\xeaE\x19\x04\\\x86\xb3\xdf\xe79\xe79>u\xdcEU\xb7\xdbv\xd9\xf5\xf1\xf9\xe3\xf1\xefw~\xe7\xfdw>}\xaa\xce\xa7\x9e\xdf\x85\xde?\xe38\xcf5\x07b?x@\xb73q\xfe\xf2 \xae#\x91\xebH?\xe6>>W\x1c8\xd7B[\x1c\xf7\xbb\xc7lZz\xc6\xb5\x10\x1b\xba\x8d\xdd\nm\xb1?\xdd\xae7\x84\x877O\xdbt\xe1\xf4\xe7x\x81\x14\xc7\xd7\xe9|<3nS\x92|\xbefS\xf7\x02Hd~\x8b\xfe\xb0\xd2\xf1\\\tm\xef>jS\xf7\xe7!\xceo’\xd1i\xa5\xcf\xcfJ\xaf\xefL\tmK\xbd/\xf3\xf3y\x863l\xc4\xf3xl\xaf\xdb\xf8\x81\xa36\xb5\xe7\xc5\xedU\x9b\xba\xef?gsY\b\x96\xdd\x1eW\xb4\xebVh\x8b\x17T\xb1\\\xb7\xf1L\x7f\xef\xb1d!\xf5{\xb6\xe7\xcahQ\xb3\xa9\xfdu]\xe9\xfb\x8d\xf5\xd9\x19\xe0|\xd3\x0f\xe8\x07\xdc\x07p\xa0[\x0e\x84\xf0\x11BN\xbb\x18\x9f\x03\xba]\xef\x19k7}\x85\xa6$\x89\xf7i\xe5\xf7XQ\xbe}\xc6\xa6\xee\xfbA\xa7\x [hostname “xyz.domain.com”] [uri “/nextcloud/remote.php/webdav/Treffen (test)/IMG_6284.PNG”] [unique_id “X2Tann8AAAEAABfUVBcAAAAA”]

Mit deiner Regel “SecResponseBodyLimit 67108864” erhalte ich wieder die Meldung das die Datei zu groß ist.

Ich sepp hab auch den falschen Code gepostet :no_mouth:

Wie sehen deine ModSecurity Einstellungen aus?

Kann man hier keine PNs schicken? An dich zb.

@Foxly Wenn ich die ModSecurity ausschalte, dann geht es.

Das sollte eigentlich gehen.

Das denk ich mir, es ist bei dir aber nichts spezielles eingestellt. Ich frage mich warum hier überhaupt ModSecurity anschlägt :thinking: