Ora, dopo il ripristino (la chiave è stata disabilitare i caricamenti S3), tutti i collegamenti agli allegati nei post sono interrotti (errore 404). Ho cercato nel forum e non riesco a trovare una soluzione, spero che qualcuno possa indicarmi la giusta direzione.
Ho due opzioni:
Posso correggere questi collegamenti short-url interrotti che puntano agli allegati incorporati nei post (tutti i collegamenti interrotti sono per allegati nei post; le immagini incorporate vengono visualizzate correttamente, altri collegamenti interni funzionano correttamente)?
Ad esempio, l’URL dell’allegato su un post nel forum viene visualizzato come https://XYZ.com/uploads/short-url/phu1HOLvkE8LWpkKYfnMPSWsvHh.zip. Questo è ciò che vedo nei log quando clicco su un collegamento di allegato in un post (che porta a un 404).
Messaggio (5 copie segnalate)
Impossibile elaborare correttamente la risposta di dirottamento: Errno::ENOENT: No such file or directory @ rb_sysopen - /XXXXX.s3.dualstack.us-east-1.amazonaws.com/optimized/1X/46728e07f9819907d1b18387bf02ea7fc25c7981_2_32x32.ico
Backtrace
/var/www/discourse/app/controllers/static_controller.rb:160:in read' /var/www/discourse/app/controllers/static_controller.rb:160:in block (2 levels) in favicon’
/var/www/discourse/lib/distributed_memoizer.rb:16:in block in memoize' /var/www/discourse/lib/distributed_mutex.rb:33:in block in synchronize’
/var/www/discourse/lib/distributed_mutex.rb:29:in synchronize' /var/www/discourse/lib/distributed_mutex.rb:29:in synchronize’
/var/www/discourse/lib/distributed_mutex.rb:14:in synchronize' /var/www/discourse/lib/distributed_memoizer.rb:12:in memoize’
/var/www/discourse/app/controllers/static_controller.rb:138:in block in favicon' /var/www/discourse/lib/hijack.rb:56:in instance_eval’
Spero davvero che ci sia un modo per correggere questi collegamenti short-url dopo aver disabilitato l’opzione di caricamento S3 durante il ripristino del server da un backup. Un nuovo “bake” del post non ha risolto il problema.
Se per qualche motivo questa è una strada senza uscita e non può essere risolta in massa, ora ho migliaia di allegati orfani sul cloud S3, c’è un modo per pulirli e liberare spazio? C’è un modo in cui Discourse può scansionare il suo bucket di caricamenti S3 e cancellare tutti gli asset orfani?
Potrebbe essere stato, o essere stato, possibile capire come correggere quei link, ma capire come farlo va oltre l’ambito di ciò che è fattibile in un forum.
Verifica se hai un file chiamato b13050bdcd2d58924ba6ab3e7608b16bfc3cd1b7.zip da qualche parte nei tuoi caricamenti e/o nel bucket s3. In tal caso, dovrebbe essere possibile, anche se non facile, risolvere le cose.
Dato che non hai incluso i nomi effettivi del forum o del bucket, non possiamo dirlo qui.
Credo di sì, ma penso che qualcuno che abbia familiarità con Discourse e Rails dovrà scriverlo. Non sono a conoscenza di una soluzione esistente al tuo problema. Ci sono alcuni argomenti sulla migrazione tra bucket S3 che potrebbero offrire alcuni indizi, ma non credo che il tuo particolare problema sia stato risolto prima.
Beh, sì, è quello che ti ho raccomandato di fare in primo luogo…
Se non riattivi i caricamenti S3, la funzione short-url li cercherà localmente, ma si trovano su S3.
Ci proverò, ma d’altra parte, quando l’ho abilitato, ha interrotto il ripristino (vedi il mio altro argomento). Con l’aiuto di Jay ho dovuto capire come disabilitare il caricamento per poterlo ripristinare. Sei riuscito a ripristinare un server con l’opzione abilitata?