Caricamento infinito dietro Cloudflare

Immagino che solo dal nome “Cloudflare Automatic HTTPS Rewrites” possa essere frainteso. Cloudflare ha 2 funzionalità:

  • “Always Use HTTPS” reindirizza tutte le richieste HTTP semplici a HTTPS, proprio come fa force_https in Discourse. Entrambe erano precedentemente abilitate, e le ho disabilitate entrambe per testare se HTTPS avesse qualcosa a che fare con il problema o con le pagine Discourse in continuo caricamento e le richieste curl bloccate. Questo ha funzionato perfettamente, risolvendo persino l’intero problema anche per le richieste HTTPS, ma solo perché ho disabilitato “Cloudflare Automatic HTTPS Rewrites” nello stesso momento.
  • “Cloudflare Automatic HTTPS Rewrites” modifica documenti HTML, CSS e JavaScript per sostituire tutti gli URL HTTP semplici incorporati con varianti HTTPS, dove Cloudflare ritiene che l’host sia raggiungibile tramite HTTPS (basandosi sulla lista di precaricamento HSTS e simili). Questo serve a evitare avvisi di contenuto misto.

Forzare o non forzare HTTPS su Cloudflare, sul proxy host o su Discourse non ha importanza. Ciò che ha causato il problema è stata la combinazione del filtro mod_sed sul proxy host e le modifiche HTTP semplici incorporate da Cloudflare. Quindi due stadi in cui il contenuto dei documenti veniva filtrato. Il problema non era che ci fosse un effettivo cambiamento di contenuto (non c’è contenuto misto sul nostro sito, quindi “Cloudflare Automatic HTTPS Rewrites” non modifica effettivamente il corpo del documento), ma probabilmente correlato a chunk, buffer o timing.

1 Mi Piace