Introduzione

Uno degli errori più comuni che si verificano durante la navigazione sul Web è "500 Internal Server Error". Questo messaggio indica che il server web sta riscontrando problemi tecnici.

Questo articolo spiega cosa significa un errore 500, perché ricevi un codice HTTP 500 e come risolvere questi errori.

Che cos'è un errore HTTP 500

Ogni volta che apri una pagina web, il tuo browser invia una richiesta al server che ospita il sito, che restituisce i dati richiesti e il codice di risposta. I codici di stato della risposta HTTP indicano se la richiesta è andata a buon fine o meno.

Le risposte sono suddivise in cinque classi. I codici nell'intervallo da 500 a 599 indicano un errore del server.

Il codice di stato HTTP 500 è una risposta di errore generica che viene restituita dal server quando nessun altro codice di errore è appropriato. Può essere causato da una serie di problemi che impediscono al server di completare la richiesta.

Se la pagina che stai visitando genera un errore 500, non puoi fare molto poiché l'errore non è causato dal tuo browser o dalla connessione Internet. Anche se l'errore è sul lato server, puoi provare alcune delle seguenti opzioni:

  • Ricarica il browser o prova ad usarne un altro. Le possibilità che la pagina venga caricata quando aggiorni il browser sono basse, ma vale comunque la pena provarlo.
  • Prova a svuotare la cache del browser. Se la pagina che mostra l'errore 500 è memorizzata nella cache, dopo che la cache è stata cancellata, il browser richiederà una nuova versione della pagina.
  • Torna più tardi. Nel frattempo, il webmaster potrebbe risolvere il problema del server.
  • Contatta i proprietari del sito web. L'ultima opzione rimanente è contattare la persona responsabile della manutenzione del sito web.

Risoluzione del problema Error 500

Una serie di motivi diversi potrebbe causare l'errore 500 interno del server. Ecco i più comuni:

  • Una questione di autorizzazione. Quando il server Web non dispone delle autorizzazioni per accedere ai file del sito, potrebbe generare un errore HTTP 500. La soluzione a questo problema è modificare le autorizzazioni del file del sito Web in modo ricorsivo.
  • Un errore di sintassi nel file .htaccess. Se stai usando Apache come server web, molto probabilmente hai un file .htaccess nella directory principale del tuo sito. Una sintassi non valida o una direttiva del modulo inesistente può portare a un errore 500.
  • Problema relativo al database. L'errore HTTP 500 può anche essere causato da informazioni errate sul server di database o da un database danneggiato.
  • Problemi con plugin e temi. Se stai utilizzando WordPress o un CMS simile, l'errore 500 può apparire dopo l'aggiornamento o la modifica di un plugin/tema.
  • Problemi con il server. Un filesystem danneggiato o una memoria esaurita possono portare a errori 500.
  • Moduli Node.js. Se hai un sito basato su Node.js, l'aggiornamento dei moduli può causare un errore interno del server 500.
  • Sito compromesso. Abbastanza spesso un codice dannoso che viene iniettato nel tuo sito web restituisce un errore 500.
  • Modulo incompatibile. Il caricamento di un modulo PHP o Apache incompatibile genera l'errore 500.
  • Timeout risorsa esterna. Se il server comunica con un servizio esterno e se tali servizi non sono raggiungibili, il server mostrerà un messaggio di errore 500.

Il modo migliore per determinare il motivo per cui si è verificato l'errore 500 è controllare i file di registro del server. La posizione dei file di registro dipende dalla distribuzione Linux e dal server web. Le posizioni più comuni per Apache e Nginx sono le seguenti:

/var/log/apache2/error.log
/var/log/httpd/error_log
/var/log/nginx/error_log

Se la tua applicazione è basata su Node.js, controlla i log di Node.js.

In genere il registro del server contiene informazioni dettagliate sull'errore che ti aiuteranno a identificare e correggere l'errore.

Conclusione

L'errore del server interno 500 è un codice di stato HTTP generale che indica che qualcosa è andato storto con il server web che ospita il sito che stai visitando.