Riepilogo del problema
Sto riscontrando un errore 404 quando accedo a un caricamento di immagini tramite il suo URL sul sito Discourse live (https://techenclave.com), anche se l’immagine è presente sul disco e viene servita correttamente internamente. Ho ribattuto il post, riavviato l’app e verificato che il servizio interno funzioni, ma continua a restituire 404 esternamente.
Cosa funziona
1. Caricamento presente nel DB
Utilizzando la console Rails, ho confermato che il caricamento esiste con tutti i metadati corretti:
Upload.find_by(sha1: 'a8fbe877e685e6a6994532c946c446b1279da7d2')
L’output include:
url: \"/uploads/default/original/3X/a/8/a8fbe877e685e6a6994532c946c446b1279da7d2.jpeg\"- Nome file:
IMG202506252257011.jpg - ID:
170265 - Utilizzato nel Post ID:
3125774
2. File presente sul disco
Verificato che il file è presente all’interno del container:
ls -l /shared/uploads/default/original/3X/a/8/a8fbe877e685e6a6994532c946c446b1279da7d2.jpeg
Il file esiste con proprietà e permessi corretti:
discourse:www-data, -rw-r--r--.
3. Il symlink dalla cartella Public funziona
Il symlink public/uploads è intatto:
ls -l /var/www/discourse/public/uploads
# => /shared/uploads
4. Discourse può servirlo internamente
Testato con:
curl -I http://localhost:3000/uploads/default/original/3X/a/8/a8fbe877e685e6a6994532c946c446b1279da7d2.jpeg
Risultato: HTTP/1.1 200 OK
5. Post ribattuto
Ho ribattuto il post con:
Post.find(3125774).rebake!
6. App riavviata
Eseguito:
./launcher restart app
Ho anche tentato:
sudo ./launcher rebuild app
(Il demone Docker è stato temporaneamente non disponibile ma successivamente corretto.)
Cosa non funziona
Accesso esterno all’immagine
Accedendo a:
https://techenclave.com/uploads/default/original/3X/a/8/a8fbe877e685e6a6994532c946c446b1279da7d2.jpeg
Restituisce:
404 Not Found
Questo accade su tutti i browser e in modalità incognito.
Con cosa ho bisogno di aiuto
Qualcuno può aiutarmi a identificare cosa potrebbe causare:
- Un caricamento funzionante che viene servito tramite
localhost:3000, - ma restituisce 404 esternamente sul dominio pubblico?
Cos’altro dovrei controllare? Qualsiasi configurazione o log correlato da ispezionare?
Grazie in anticipo!
