Discourse non supporta l’header HTTP Range e risponde sempre con il codice 200 OK invece di 206 Partial Content per i download di file. Questo è scomodo per gli utenti del forum in quanto costringe a scaricare nuovamente l’intero file in caso di connessione Internet instabile.
L’argomento Backup too big, is there a way to download it through "resume download" ha menzionato questo problema nel caso del download di backup, tuttavia questo si applica anche al download di file normale quando non viene utilizzato lo storage S3.
Ho controllato la configurazione del proxy nginx e non si tratta di un problema di configurazione. L’header Range viene passato correttamente a localhost:3000 per le richieste /uploads/short-url/, ma Discourse non lo gestisce.
Poiché HTTP Range è una delle funzionalità di base di HTTP, la inserisco nella categoria “bug”, non “feature”.
P.S. non è riproducibile qui, su meta.discourse.org, poiché utilizza S3 per lo storage.