Ejecutándolo en mi sitio de prueba (4b561277a9) sin cambios en ninguna configuración max ni límites de archivo, y se sube bien si añado pdf a las extensiones autorizadas, y da el mensaje de error correcto de ‘Lo siento, el archivo que intentas subir no está autorizado’ cuando se restablece a los valores predeterminados.
¿Hay algo más que pueda intentar para ver si puedo replicarlo?
No, ya que el tamaño de ese archivo está por debajo del límite de tamaño predeterminado de nginx. Sin embargo, esa es una buena pista.
El sitio que @Julien_Palard autoalojó tiene un proxy inverso personalizado entre Discourse y el navegador, por lo que ese error probablemente proviene de un proxy inverso mal configurado.
Estoy recibiendo un 413 Request Entity Too Large de nginx, así que claramente tengo que investigar más para entender por qué una imagen “grande” está bien pero un PDF “no tan grande” no lo está…
El JPG de 3.0MB tiene una Content-Length de 557215, ¡así que 0.5MB sorprendentemente!
El PDF de 2.3MB tiene una Content-Length de 2460137, así que 2.3MB sin sorpresa.
¿Discourse reescala el jpg antes de subirlo?
En mis JPEGs que pasan veo que el ancho y alto de la imagen son diferentes después de subirlos a Discourse (Probé con https://apod.nasa.gov/apod/image/2209/DSCF4968_PS_Lioce.jpg, es una imagen de 5703x3892, 3.6MB, pero una vez subida es de 1920×1310 de 153 KB).
El valor predeterminado de nginx para client_max_body_size es 1MB, las imágenes jpeg redimensionadas del lado del cliente están todas por debajo de 1MB, todo queda claro.