Il caricamento del logo non funziona dopo il ripristino dal backup

Ho creato una nuova istanza di Discourse su un dominio diverso e l’ho ripristinata da un backup. Tutto è andato a buon fine. Tuttavia, nessuno dei loghi è apparso (tutti vuoti, nemmeno quello predefinito). Quindi ho provato a ricaricare i loghi utilizzando il menu Branding.

Ecco il log di Discourse relativo al caricamento di un nuovo logo:

Nuovo: /uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png
Precedente: /images/discourse-logo-sketch.png

Tuttavia, quando controllo la directory degli upload, quell’immagine specifica non esiste:

/var/discourse# tree shared/standalone/uploads/default/ | grep 75a1

Notate che questo nome file del logo errato (hash?) corrisponde a quello dell’istanza originale di Discourse che è ancora online:

Nuovo: /uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png

Qualche idea su cosa sia andato storto? Dovrei creare una nuova istanza e ripristinarla da un backup fresco?

Grazie.

1 Mi Piace

Abbiamo bisogno di sapere di più sul tuo ambiente per poter aiutarti.

  • Come è stata installata la nuova istanza?
  • È dietro un proxy inverso o CloudFlare?
1 Mi Piace

Ciao Stephen,

  1. È stato installato utilizzando lo script autonomo discourse-setup.
  2. Non è coinvolto alcun reverse proxy o CDN.
1 Mi Piace

Solo un aggiornamento a riguardo. Alla fine ho creato una nuova istanza oggi e i loghi sono stati ripristinati correttamente dal backup. Era probabilmente un qualche tipo di problema intermittente.

1 Mi Piace

Scordatevelo, ho riscontrato di nuovo il problema… Quindi, le immagini del logo funzionavano correttamente finché non ho svuotato la cache del browser.

Soluzione

La causa principale era che la maggior parte delle immagini non era stata ripristinata correttamente dal backup durante l’operazione di ripristino. Sono riuscito a risolvere il problema estraendo manualmente l’archivio tar e copiando le immagini mancanti nella directory degli upload di Discourse.

Analisi

Quando provo a caricare un nuovo logo, vedo quanto segue:

  1. Il caricamento dell’immagine sembra funzionare correttamente:

  1. Ma la successiva richiesta GET per visualizzare l’immagine caricata restituisce un errore 404:

  1. L’immagine non è presente nella directory degli upload:
/var/discourse# tree shared/standalone/uploads/default/original/
shared/standalone/uploads/default/original/
`-- 1X
    |-- 52b3aff4e63a7e38bef42d469bafd1ed7c1cc1a2.png
    `-- e952cfd4c1bc58e77024e4c2b518531356319780.png

Ecco cosa contiene l’archivio tar del backup:

/tmp# tar tvzf ask-tunisians-2020-07-28-042934-v20200728004302.tar.gz 
-rw-r--r-- discourse/www-data 11767008 2020-07-28 04:29 dump.sql.gz
drwxr-xr-x discourse/www-data        0 2020-07-26 21:11 var/www/discourse/public/uploads/default/
drwxr-xr-x discourse/www-data        0 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/
drwxr-xr-x discourse/www-data        0 2020-07-27 20:33 var/www/discourse/public/uploads/default/original/1X/
-rw-r--r-- discourse/www-data    14843 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/7835873085d7323b640c2504cd737b51f370360f.png
-rw-r--r-- discourse/www-data     9039 2020-07-27 20:33 var/www/discourse/public/uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png
-rw-r--r-- discourse/www-data     5783 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/19629775936660ecc73235158b4d68b9ec4b2abe.png
-rw-r--r-- discourse/www-data    11124 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/1X/e952cfd4c1bc58e77024e4c2b518531356319780.png
-rw-r--r-- discourse/www-data    35570 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/1X/52b3aff4e63a7e38bef42d469bafd1ed7c1cc1a2.png
-rw-r--r-- discourse/www-data     2375 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/d4af3550a7c3f857c974b996257c8e3db72e7850.png
-rw-r--r-- discourse/www-data     9759 2020-07-26 22:14 var/www/discourse/public/uploads/default/original/1X/dfc47da4c22ffeddf59f736a46a2c50ee55d7fa1.png
-rw-r--r-- discourse/www-data    24898 2020-07-26 21:46 var/www/discourse/public/uploads/default/original/1X/d832b24f2cb338139984be98045d22e0af093c4a.png

Chiaramente, le immagini erano presenti, ma la domanda è: perché la maggior parte di esse non è stata copiata correttamente durante l’operazione di ripristino?

1 Mi Piace

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