Errore Cloudflare 521 dopo l'aggiornamento di Discourse a 3.5.0.beta8-dev

Ciao a tutti,

Dopo aver aggiornato il mio sito Discourse alla versione 3.5.0.beta8-dev, sto improvvisamente ricevendo un errore 521 “Web server is down” quando accedo al sito tramite Cloudflare. Questo è inaspettato poiché l’avevo precedentemente configurato secondo questa guida e aveva funzionato perfettamente fino ad ora.

Poi ho provato a cambiare la modalità di crittografia SSL/TLS in Cloudflare da Full (Strict) a Flexible, e il sito si è caricato di nuovo.

Qualcuno sa perché questo potrebbe accadere dopo l’aggiornamento?
C’è qualcosa di nuovo in 3.5.0.beta8-dev che potrebbe influire sulla compatibilità con Cloudflare o sulla gestione HTTPS?

Qualsiasi aiuto o suggerimento sarebbe molto apprezzato!

Grazie in anticipo!

Sto eseguendo la versione 3.5.0.beta8-dev con SSL completo (rigoroso) con Cloudflare e non ho problemi.

Un paio di cose da controllare:

  • Controlla il tuo Let’s Encrypt: rivedi il tuo log di aggiornamento e convalida che tutto sia stato ricostruito correttamente.
  • Verifica eventuali modifiche al firewall esterno (DigitalOcean fornisce firewall esterni).

Il 521 e il passaggio a Flessibile indicano che il tuo server non è configurato con HTTPS.

Grazie per i suggerimenti! @LotusJeff

Ho controllato la mia configurazione SSL e non sto usando Let’s Encrypt, ho generato un Certificato di Origine da Cloudflare e ho posizionato la chiave e il certificato qui:

Ho eseguito una ricostruzione completa dopo aver controllato. Ma sto ancora ricevendo un errore 521 quando Cloudflare è impostato su Full (Strict).

Ecco la sezione del template dal mio app.yml come riferimento:

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Uncomment these two lines if you wish to add Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  # - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/cloudflare.template.yml"

expose:
  - "80:80"   # http
  - "443:443" # https

Grazie ancora per aver dedicato del tempo ad aiutarmi!

Lavorando a memoria, i certificati Cloudflare hanno una durata di 90 giorni. Ciò richiederà la creazione di nuovi certificati ogni 3 mesi. Ricordi quanti anni hanno i tuoi certificati?

L’impostazione predefinita è utilizzare Let’s Encrypt. Il sistema rinnoverà automaticamente i tuoi certificati. Una cosa in meno da gestire manualmente.

Cloudflare ora fornisce certificati validi fino a 15 anni, il mio è ancora nel periodo di validità.

Detto questo, per sicurezza, ho anche provato a generare un nuovo certificato e ho sostituito quello esistente, ma ho ancora lo stesso problema.

Se volessi tornare alla configurazione predefinita utilizzando Let’s Encrypt,
basterebbe semplicemente:

  1. Decommentare questa riga in app.yml:
- "templates/web.letsencrypt.ssl.template.yml"
  1. E impostare la modalità SSL di Cloudflare su Full?

Non ho mai effettuato la transizione da certificati privati a Let’s Encrypt con Discourse e, detto questo…

All’interno di app.yml, dovrai decommentare in due posizioni:

  1. Riga del template per - "templates/web.letsencrypt.ssl.template.yml"
  2. L’email dell’account Let’s Encrypt:
## Se hai aggiunto il template Let's Encrypt, decommenta qui sotto per ottenere un certificato SSL gratuito
  LETSENCRYPT_ACCOUNT_EMAIL: <aggiungi qui il tuo indirizzo email>

Se hai apportato altre modifiche manuali ai template per certificati SSL personalizzati, dovrai ripristinarle alle impostazioni standard.

Il componente Let’s Encrypt si trova verso la fine quando ricostruisci l’app. Tieni d’occhio e vedi se ricevi codici di errore.

1 Mi Piace

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