Erreur 522, connection timed out : comment corriger cette erreur

Dal 2010 il servizio CDN Cloudflare consente a numerosi progetti web di avere migliori prestazioni e una sicurezza più elevata. Al contrario dei convenzionali  Content Delivery Networks, Cloudflare funge non soltanto da semplice memoria temporanea per contenuti statici, ma anche come server reverse proxy, il quale è in costante comunicazione con il server, con il vantaggio che i contenuti della cache non possono essere stabiliti in modo esplicito dal gestore del sito. Non è nemmeno necessario un adattamento del codice sorgente, poiché occorre semplicemente far utilizzare il servizio al server DNS.

Un bug piuttosto comune che emerge molto spesso con il potente Content Delivery Network è quello indicato dal messaggio “Error 522: Connection timed out”. Ma benché questo bug sia anche noto come “Cloudflare Error”, il problema in realtà non risiede nel servizio per le prestazioni web.

Cosa significa il messaggio “Error 522”?

Il messaggio 522 è una delle tante pagine di errore HTTP che si possono incontrare nel World Wide Web: mentre il “5” che si trova all’inizio è l’indicatore di un errore del server, il “2” che lo segue suggerisce che l’errore del server è in relazione con il Cloudflare. Il codice 552 indica una connessione scaduta (in inglese: “connection timed out”), che si verifica quando l’handshake TCP tra il server web e Cloudflare fallisce. Questa stretta di mano, essenziale per stabilire una connessione, è necessaria ogniqualvolta il servizio CDN accetta una richiesta dell’utente che richiede la consultazione con il server. A causa del consistente utilizzo di Cloudflare, il messaggio “522 Connection Timed Out” si annovera tra i messaggi di errore più frequenti del browser.

Qual è la causa dell’errore Cloudflare?

Contrariamente a quanto ci si aspetterebbe, il verificarsi dell’errore 522 non dipende da un malfunzionamento di Cloudflare, ma da un problema lato server. Come per molte simili funzioni di errore HTTP, non è così semplice riconoscere direttamente la fonte dell’errore. Piuttosto esistono diversi scenari che possono causare un timeout nell’impostazione della connessione TCP tra il servizio CDN e il server contattato. I motivi più comuni per il messaggio “Connection Timed Out” sono i seguenti:

  • Il server è offline: spesso viene mostrato l’errore 522 perché il server contattato è offline. Poiché la comunicazione tra il server e Cloudflare avviene attraverso Internet, logicamente non può avere luogo alcuno scambio.
     
  • Il server originale è sovraccarico: Cloudflare solleva il server originario che esegue il progetto da una grande mole di lavoro. Per determinate richieste dell’utente browser (in particolare contenuti dinamici) il servizio CDN deve tuttavia contattare il server di origine. Come per un normale server senza CDN, quando troppe richieste devono essere elaborate simultaneamente, ciò può sovraccaricare e far scadere la connessione TCP.
     
  • Il firewall blocca la richiesta: se il server originario è collegato al proprio firewall, quest’ultimo può portare all’errore Cloudflare. Naturalmente per impostazione predefinita gli indirizzi IP dei servizi performance dovrebbero essere consentiti, ma può succedere che vengano bloccati accidentalmente. Di conseguenza non è possibile inizializzare la connessione. Anche impostazioni errate possono portare all’eliminazione dei pacchetti all’interno dell’originale rete host.
     
  • Le impostazioni DNS non sono corrette: i server DNS di Cloudflare lavorano con l’indirizzo IP del server originale, quindi per permettere la collaborazione tra CDN e server deve essere comunicata qualsiasi modifica apportata a questo indirizzo. Poiché molti host web a cadenze regolari assegnano automaticamente nuovi indirizzi web ai siti gestiti, non inoltrandoli però a Cloudflare, a volte può accadere che l’impostazione DNS utilizzi un indirizzo errato.
     
  • Il routing è errato: Cloudflare deve poter funzionare oltre i limiti della rete per ottenere la desiderata ottimizzazione della performance dei siti. Il routing IP, che regola il percorso dei pacchetti inviati attraverso le varie reti coinvolte, è perciò parte integrante del processo di consegna dei contenuti. Le eventuali discrepanze tra il server originale e Cloudflare possono quindi causare il messaggio di timeout della connessione.
     
  • I messaggi “keepalive” sono disattivati lato server: Cloudflare utilizza la voce “keepalive” per mantenere le connessioni stabilite per un periodo più lungo, migliorando così le prestazioni. Se la possibilità di tali messaggi HTTP sul server è disattivata, la connessione non riesce, il che può comportare di nuovo un errore 522. Poiché la maggior parte dei server consente per impostazione predefinita la voce “keepalive”, questa causa di errore, relativamente rara, è quasi sempre dovuta ad un errore di configurazione del webmaster.

Come risolvere l’errore 522: quali possibilità hanno i gestori di siti

Se siete responsabili di un progetto web che si imbatte con il problema dell’errore 522, dovete innanzitutto indagarne le cause. Tuttavia, ancor prima di procedere a verificare se una delle cause sopra descritte sia la radice del problema, dovete assicurarvi che il server originale sia attivo e che accetti le richieste HTTP. Se così non fosse, la comunicazione tra il server e Cloudflare sarebbe logicamente impossibile, anche se tutte le impostazioni fossero corrette. Se invece questo primo veloce controllo mostra che il servizio CDN può effettivamente accedere alle risorse del server, bisogna passare a un’analisi più dettagliata per trovare la fonte dell’errore.

Nei prossimi paragrafi abbiamo raccolto le soluzioni più promettenti per risolvere l’errore 522.

Soluzione 1: ottimizzare le capacità del server

La congestione del server è una delle cause più frequenti dell’errore 522: d’altra parte è impossibile prevedere quanti visitatori si avranno in un determinato momento e i server non riescono a gestire le richieste HTTP durante questi picchi. Per questo è utile tenere sotto controllo lo sviluppo del traffico del proprio sito con l’aiuto di software di analisi. Vi suggeriamo perciò di valutare regolarmente i dati per identificare le impasse e migliorare la configurazione dell’hardware nell’ambiente di hosting. Soluzioni di cloud hosting flessibili, ad esempio, consentono di ridimensionare in modo preciso le risorse per rispondere alle variazioni diurne, settimanali o stagionali.

Soluzione 2: verificare i filtri IP

Per scoprire se il vostro server sta bloccando gli indirizzi IP utilizzati da Cloudflare, dovete dare un occhio alle impostazioni del firewall corrispondente e alle altre applicazioni di filtraggio, come ad esempio iptables. Si possono filtrare gli indirizzi Internet anche nel file .htaccess, motivo per cui bisogna controllare anche questo per identificare eventuali IP bloccati. Potete trovare una lista degli indirizzi utilizzati dal Content Delivery Network sulla homepage ufficiale. Se uno di questi indirizzi è bloccato nei programmi menzionati (o nei tool con funzioni simili), dovete sbloccarli in modo da poter risolvere l’errore 522. Spesso le applicazioni bloccano gli IP automaticamente per cui per stare sul sicuro dovreste inserire gli indirizzi di Cloudflare nella whitelist.

N.B.

Non è escluso che il filtraggio degli indirizzi Cloudflare non provenga dal vostro server, bensì dal vostro provider hosting. Quindi vi conviene consultare quest’ultimo se ipotizzate un problema IP dietro al messaggio “Connection timed out” e non trovate alcuna configurazione errata nelle vostre applicazioni.

Soluzione 3: regolare le impostazioni DNS/IP

Se il vostro host web si basa su una modifica periodica degli indirizzi del server web, spetta a voi inoltrare gli IP modificati a Cloudflare. Per impostazione predefinita, infatti, i provider condividono queste modifiche solamente ai propri server DNS. Se pertanto si verifica un errore 522 vale la pena dare uno sguardo alle impostazioni IP del vostro dominio. Loggatevi nel pannello di amministrazione relativo al vostro progetto web e annotate gli attuali indirizzi iPv4 e IPv6 del server. Infine passate al menu di configurazione di Cloudflare e selezionate il dominio che causa l’errore. Cliccate alla voce del menu “DNS” e inserite gli indirizzi web lì annotati nei record DNS corrispondenti (Type AAAA: IPv6, Type A: IPv4).

Soluzione 4: (far) attivare “keepalive”

Nel caso in cui l’errore di Cloudflare risieda in impostazioni errate dell’intestazione HTTP, risulta abbastanza semplice da risolvere, almeno a livello teorico. Se “keepalive” è disattivato o sono state definite troppo poche richieste, è possibile correggerlo nel rispettivo file di configurazione del server (per esempio in httpd.conf sui server Apache). L’importante è possedere i diritti appropriati, cosa che spesso non accade con i pacchetti di hosting condiviso. In tali casi vi rimane soltanto la possibilità di contattare il fornitore. Se questa opzione rimane impostata in modo da bloccare “keepalive” per il pacchetto selezionato, è necessario prendere in considerazione la modifica del modello o del fornitore di hosting.

Soluzione 5: contattare l’assistenza di Cloudflare

Se l’errore 522 è dovuto a un problema di routing del traffico, è necessario rivolgersi all’assistenza di Cloudflare. Mandate un ticket nel quale descrivere il problema, indicando le verifiche che avete già effettuato per rintracciare l’errore. Il provider CDN raccomanda inoltre di utilizzare tool come MTR o traceroute per avere informazioni sullo scambio di pacchetti corrente tra il vostro server e gli IP di Cloudflare. Sarebbe utile allegare poi i risultati al vostro ticket (in formato testo/immagine) per accelerare il processo di risoluzione.

Che cosa si può fare in qualità di utente browser quando appare il messaggio Connection timed out?

La lista delle possibili cause di errore evidenzia che nel caso dell’errore HTTP 522 si tratta esclusivamente di un problema lato server. Se perciò state semplicemente rovistando nel mondo del World Wide Web e incontrate il messaggio 522 nel lanciare un sito, non si tratta di una connessione a Internet interrotta o di un plug-in malfunzionante. Tuttavia ciò significa anche che non è possibile per l’utente risolvere il problema direttamente. Per evitare la frustrazione che deriverebbe da inutili tentativi, si consiglia perciò di riprovare a connettersi al sito in un altro momento. Nel migliore dei casi il problema di comunicazione tra Cloudflare e il server sarà già stato risolto nel frattempo e potrete visitare la pagina.

Naturalmente è anche possibile contattare il webmaster responsabile, soprattutto quando il sito non funziona nemmeno dopo ripetuti tentativi e mostra continuamente l’errore Cloudflare. In questo modo potrete ottenere preziose informazioni oppure vi verrà comunicato a partire da quando il sito sarà nuovamente raggiungibile. Inoltre è possibile che il fornitore sia completamente all’oscuro della problematica, per cui vale senz’altro la pena contattarlo.


Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.