Nessun accesso al sito dopo aver impostato le credenziali S3

Non riesco ad accedere al sito dopo aver impostato le credenziali S3 per il backup. Non ho modificato nulla oltre a questo.

Puoi consultare /var/discourse/shared/log/rails/production.log (o qualcosa di simile) per vedere l’errore.

Forse è necessario eseguire

cd /var/discourse
./launcher enter app
rails c
# e poi qualcosa come
SiteSetting.backup_location='local'

Ma potrebbe essere una coincidenza: i backup su S3 non c’entrano nulla con questo problema e il tuo disco è pieno.

Grazie. Ho provato ma non riesco a risolverlo. Il registro degli errori è riportato di seguito.

ActionView::Template::Error (s3_upload_bucket)
/var/www/discourse/lib/file_store/s3_store.rb:153:in `s3_bucket'
Inizio HEAD "/" per 35.111.111.163 alle 06:34:08 del 2020-03-05 +0000
Elaborazione di ListController#latest come HTML
  Rendering di list/list.erb all'interno di layouts/application
  Renderizzato list/list.erb all'interno di layouts/application (Durata: 6.1ms | Allocazioni: 2278)
  Renderizzato layouts/_head.html.erb (Durata: 0.2ms | Allocazioni: 102)
  Renderizzato common/_google_universal_analytics.html.erb (Durata: 0.2ms | Allocazioni: 79)
  Renderizzato common/_discourse_stylesheet.html.erb (Durata: 0.4ms | Allocazioni: 200)
Completato 500 Internal Server Error in 60ms (ActiveRecord: 0.0ms | Allocazioni: 17538)
ActionView::Template::Error (s3_upload_bucket)
/var/www/discourse/lib/file_store/s3_store.rb:153:in `s3_bucket'

sono disponibili 5 GB di spazio libero.

Disabiliterei le impostazioni S3 dalla console di Rails. Ho provato a fornire un esempio sopra. Potresti dover cercare qui altri esempi.

Non hai impostato il parametro s3_upload_bucket.
Basta eseguire

cd /var/discourse
./launcher enter app
rails c
SiteSetting.s3_upload_bucket = 'thenameofyourbucket'

dove modifichi l’ultima riga inserendo il nome effettivo del tuo bucket S3.

Grazie. Questo ha risolto il problema. Ma perché è successo? Poiché volevo usare S3 solo per i backup, non ho inserito alcun bucket per gli upload. È normale o si tratta di un bug?

Posso riprodurre questo problema solo quando abilito enable_s3_uploads.

Credo che quanto seguito sia ciò che è accaduto e che abbia portato alla schermata Oops:

  • hai aggiunto s3 access key id e s3 secret access key
  • hai configurato un s3_upload_bucket
  • hai abilitato enable_s3_uploads
  • hai impostato backup_location su s3
  • hai dovuto impostare un s3_backup_bucket e l’hai impostato sullo stesso bucket
  • questo genera un messaggio di errore Non è possibile utilizzare lo stesso bucket per ‘s3_upload_bucket’ e ‘s3_backup_bucket’. Scegli un bucket diverso o utilizza un percorso diverso per ciascun bucket.
  • hai cancellato s3_upload_bucket in modo da poter utilizzare s3_backup_bucket
  • non hai disabilitato enable_s3_uploads

Il bug è che l’abilitazione di enable_s3_uploads richiede un s3_upload_bucket, ma svuotare tale impostazione mentre gli upload su S3 sono ancora attivi fa crashare il forum.

C’è qualcosa che possiamo fare per risolvere il problema sopra, @eviltrout?

È già in atto una validazione per prevenire questo:

Tuttavia, non copre il caso in cui si svuoti il bucket mantenendo i caricamenti abilitati.

Questo dovrebbe bastare: