Beim Hochladen einer 1MB PDF erhalte ich «Upload ist zu groß, maximal sind 4MB»

Ich erhalte die Fehlermeldung „Upload ist zu groß, maximale Größe beträgt 4 MB“, wenn ich PDF-Dateien mit weniger als 4 MB hochlade.
Hier sind meine Tests:

  • Eine PDF-Datei mit 68 KB funktioniert wie erwartet.
  • Ein JPG mit 2,3 MB funktioniert wie erwartet.
  • eine PDF (2,3 MB) von 2,3 MB löst den Fehler aus!
  • Ein JPG mit 3,6 MB funktioniert wie erwartet.

Seltsamerweise funktioniert der Upload auf meta.discourse.org erfolgreich, vielleicht haben Sie einige Einstellungen geändert.

Ich habe keine Einstellungen geändert, die max enthalten.

Ich verwende Version 2.9.0.beta9 4af080d20b auf einer selbst gehosteten Instanz unter https://discuss.afpy.org.

Keine Probleme mit dieser Datei in meinen Foren, in denen ich das Dateigrößenlimit nicht geändert habe.

1 „Gefällt mir“

Ich führe es auf meiner Testseite (4b561277a9) ohne Änderungen an max-Einstellungen oder Dateilimits aus, und es wird bei mir hochgeladen, wenn ich pdf zu authorized extensions hinzufüge, und gibt die korrekte Fehlermeldung “Sorry, the file you are trying to upload is not authorised” aus, wenn es auf die Standardeinstellung zurückgesetzt wird.

Gibt es noch etwas, das ich versuchen könnte, um zu sehen, ob ich es reproduzieren kann?

Nein, da die Dateigröße unter dem Standardlimit von nginx liegt. Das ist jedoch ein guter Hinweis.

Die Website, die @Julien_Palard selbst hostet, hat einen benutzerdefinierten Reverse-Proxy zwischen Discourse und dem Browser, daher kommt dieser Fehler wahrscheinlich von einem falsch konfigurierten Reverse-Proxy.

5 „Gefällt mir“

Haben Sie einen Reverse-Proxy vor Ihrem Discourse? Wie haben Sie ihn installiert?

Ich verwende nginx, meine Konfiguration sieht wie folgt aus:

Meine Nginx-Konfiguration lautet also:

      server
      {
          listen [::]:80; listen 80;
          server_name {{ discourse_domain }};
          access_log /var/log/nginx/{{ discourse_domain }}-access.log;
          error_log /var/log/nginx/{{ discourse_domain }}-error.log;
          return 301 https://$host$request_uri;
      }
      server
      {
          listen [::]:443 ssl; listen 443 ssl;
          server_name {{ discourse_domain }};
          access_log /var/log/nginx/{{ discourse_domain }}-access.log;
          error_log /var/log/nginx/{{ discourse_domain }}-error.log;
          include snippets/letsencrypt-{{ discourse_domain }}.conf;
          location / {
              proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
              proxy_set_header Host $http_host;
              proxy_http_version 1.1;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto https;
              proxy_set_header X-Real-IP $remote_addr;
          }
      }

Es handelt sich um ein nginx 1.18.0-6.1+deb11u2 von Debian Bullseye.

Ich erhalte von nginx einen 413 Request Entity Too Large-Fehler, daher muss ich genauer untersuchen, warum ein „großes“ Bild in Ordnung ist, ein „nicht so großes“ PDF jedoch nicht …

Das 3,0 MB große JPG hat eine Content-Length von 557215, also überraschenderweise 0,5 MB!
Das 2,3 MB große PDF hat eine Content-Length von 2460137, also erwartungsgemäß 2,3 MB.

Skaliert Discourse das JPG vor dem Hochladen?

Bei meinen durchlaufenden JPEGs sehe ich, dass die Bildbreite und -höhe nach dem Hochladen in Discourse unterschiedlich sind (versucht mit https://apod.nasa.gov/apod/image/2209/DSCF4968_PS_Lioce.jpg, es ist ein 5703x3892, 3,6 MB großes Bild, aber nach dem Hochladen ist es ein 1920×1310 mit 153 KB).

1 „Gefällt mir“

Der nginx-Standard für client_max_body_size beträgt 1MB, clientseitig skalierte JPEGs sind alle unter 1MB, alles wird klar.\n\nIch habe meine nginx-Konfiguration korrigiert: https://github.com/AFPy/infra/commit/861af29c7d7244d8ed3b2cb068a3f047171d4659\n\nUnd es funktioniert jetzt. Sie hatten Recht: es war mein Reverse-Proxy.\n\nDanke euch allen :heart: und Entschuldigung für die Umstände!

4 „Gefällt mir“

Ich möchte den Tag unsupported-install nicht fälschlicherweise hinzufügen, aber ich schätze, dieses Thema hätte ihn von Anfang an haben sollen, oder?

Nun, es gibt Themen, die erklären, wie man einen Reverse-Proxy konfiguriert, also ist das etwas, womit wir normalerweise helfen.

1 „Gefällt mir“

Angry Season 4 GIF by The Office

JA! Und wir haben sogar einen Blogbeitrag über diese super tolle Funktion

7 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.