Risoluzione problemi
Codici di errore HTTP su KapsuleHost
What 403, 404, 500, 502, 503 and 504 actually mean on this platform, and the specific thing to do about each one.
Che cosa significano i 403, 404, 500, 502, 503 e 504 su questa piattaforma, e che cosa fare esattamente per ognuno.
Un codice di errore non è un messaggio di guasto generico. Ti dice quale livello dello stack ha ceduto, e questo riduce enormemente le possibili cause. Un 502 e un 504 sembrano identici a un visitatore e hanno cause e soluzioni completamente diverse.
Leggere il codice effettivo
Prima di risolvere i problemi, ottieni il numero vero. Una bella pagina di errore può dire una cosa mentre il server ne restituisce un'altra.
Nel tuo browser, apri gli strumenti di sviluppo, vai alla scheda Rete, ricarica la pagina e fai clic sulla prima richiesta. Lo stato si trova in alto nel pannello Intestazioni.
Da un terminale:
curl -sSI https://yourdomain.com/
Stampa la riga di stato e le intestazioni di risposta senza scaricare la pagina. Le intestazioni sono importanti: diversi dei casi qui sotto si identificano da un'intestazione anziché dal solo codice.
La versione breve
| Codice | Significato | Di chi è il problema |
|---|---|---|
| 401 | Autenticazione richiesta | La protezione con password è attiva |
| 403 | Rifiutato di proposito | Una regola di sicurezza ha bloccato la richiesta |
| 404 | Non trovato | Il tuo sito, solitamente il routing |
| 500 | La tua applicazione si è bloccata | Il tuo codice o un plugin |
| 502 | Il server dietro il web server non ha risposto | Solitamente la tua applicazione |
| 503 | Non sta servendo di proposito in questo momento | Sospeso, in pausa o in manutenzione |
| 504 | Ha impiegato troppo tempo | Qualcosa nel tuo codice è lento |
401 Non autorizzato
Vedrai una casella di nome utente e password del browser anziché una pagina. Ciò significa che la protezione con password di base è abilitata sul sito o su quel percorso.
Disattivala, o ottieni le credenziali, da Siti web, il sito, Avanzate, quindi Protezione con password. Vedi Protezione con password.
Il rinnovo del certificato continua a funzionare mentre la protezione con password è attiva, quindi questo non interromperà il tuo HTTPS.
403 Accesso vietato
403 significa che qualcosa ha rifiutato di proposito la richiesta. Su questa piattaforma ci sono quattro fonti distinte.
Il web application firewall. Ogni sito si trova dietro un motore di regole che ispeziona le richieste in arrivo e blocca quelle che corrispondono a modelli di attacco noti. Questa è la fonte più comune di un inaspettato 403, ed è quasi sempre un falso positivo su una richiesta legittima ma insolita: un invio di un modulo lungo, un page builder che salva contenuti complessi, un plugin che invia codice grezzo.
Sintomi di un blocco firewall: un'azione specifica fallisce con 403 ogni volta mentre il resto del sito funziona bene, e fallisce in modo identico in un browser diverso e su una rete diversa.
La soluzione è un'esclusione della regola mirata, che il supporto può aggiungere. Non cercare di trovare un interruttore per spegnere il firewall; non esiste uno per l'hosting condiviso, e sarebbe la soluzione sbagliata comunque. Apri un ticket con l'URL esatto, l'ora esatta e quello che stavi facendo. Vedi Aprire un ticket di supporto.
Geo-blocking. Se hai limitato il tuo sito a paesi particolari, tutti gli altri ottengono un 403. Controlla Avanzate, quindi Sicurezza. Vedi Geo-Blocking.
Un blocco IP. Uno che hai aggiunto tu stesso sotto Sicurezza, o un blocco di abuso a livello di piattaforma.
Un problema di permessi di file o symlink. Meno comune, e di solito appare dopo un'operazione manuale su file tramite SSH.
404 Non trovato
Il server ha risposto, ma non c'è nulla a quell'indirizzo.
Una pagina 404. Il file o il post non c'è davvero, oppure l'URL è sbagliato.
Ogni pagina tranne la homepage 404. Questo è un problema di routing, e su WordPress è quasi sempre i permalink. Importante: l'hosting web Kapsule esegue nginx, non Apache, quindi le regole di riscrittura .htaccess non fanno nulla qui. Se hai migrato da un host che le usava, quella è la tua causa. Vedi Problemi con i permalink e WordPress e .htaccess.
L'intero sito 404. Controlla che il sito punti alla radice del documento giusta e che il tuo dominio sia collegato al sito giusto. Vedi Dominio personalizzato per un sito web.
Funziona sulla tua macchina e 404 in diretta. I nomi dei file Linux fanno distinzione tra maiuscole e minuscole. Logo.PNG e logo.png sono due file diversi.
500 Errore interno del server
La tua applicazione ha funzionato e si è bloccata. Il web server funziona bene; il codice no.
Questo è l'unico caso in cui i log ti danno la risposta quasi immediatamente, perché un errore fatale PHP registra il file e il numero di riga che ha fallito, il che di solito nomina il plugin esatto.
- Vai a Siti web, il sito, Avanzate, quindi Log.
- Guarda le voci più recenti.
- Abbina il timestamp a quando hai visto l'errore.
Vedi Log degli errori. Per la versione specifica di WordPress, dove la pagina è vuota anziché mostrare un errore, vedi La schermata bianca di WordPress.
Le cause più comuni sono un plugin o un tema incompatibile con la tua versione di PHP, un limite di memoria raggiunto e una connessione al database non riuscita. Vedi Estensioni e impostazioni PHP e Limite di memoria di WordPress.
502 Gateway errato
Il web server ha provato a passare la richiesta alla tua applicazione e non ha ottenuto nulla di utilizzabile. Il processo dell'applicazione ha rifiutato la connessione o si è bloccato a metà richiesta.
Cause comuni:
- Un processo PHP si è bloccato, spesso per esaurimento della memoria su una richiesta.
- Un'applicazione Node.js non è in esecuzione, o si è bloccata all'avvio.
- Un'ondata di traffico ha esaurito i processi di lavoro disponibili.
Cosa fare: controlla i log prima, come sopra. Se si tratta di un'applicazione Node, controlla se il processo è effettivamente in esecuzione e guarda l'output all'avvio. Se i 502 appaiono solo nei tuoi momenti più affollati, è un problema di capacità anziché un bug. Vedi Lentezza del sito e limiti delle risorse.
Un 502 da KPanel stesso, durante il salvataggio di un'impostazione, significa qualcosa di diverso. Significa che il pannello non ha potuto applicare la modifica della configurazione al web server, e ha ripristinato la modifica anziché lasciare il tuo sito a metà configurazione. Il tuo sito web non è interessato. Riprova, e se continua a fallire, apri un ticket.
503 Servizio non disponibile
503 significa che il server non sta servendo di proposito in questo momento. Ci sono tre cause specifiche su questa piattaforma, e la risposta ti dice quale.
Il tuo sito è sospeso. Vedrai una pagina intitolata "Questo sito è in pausa". Questo è uno stato di fatturazione o account, non un guasto tecnico, e il sito torna subito quando lo stato si risolve. Controlla Fatturazione. Vedi Pagamento non riuscito e Account sospeso.
Un progetto Orbit ha raggiunto il suo limite di spesa. La risposta contiene l'intestazione X-Orbit-Paused: spending-cap, e la pagina dice che il sito ha raggiunto il suo limite di spesa mensile. Questo confonde le persone perché nulla è rotto e non è necessario alcun ticket di supporto. Il progetto ha smesso deliberatamente di servire affinché non ricevessi una fattura inaspettata.
Per riprendere: vai a Orbit, il progetto, Impostazioni, quindi Limite di spesa, e aumenta il limite. Il servizio riprende una volta che la modifica viene raccolta, il che può richiedere fino a un'ora. Riprende anche automaticamente all'inizio del prossimo periodo di fatturazione. Vedi Limiti di spesa di Orbit.
Manutenzione della piattaforma. Una pagina di manutenzione dell'intera piattaforma, che è rara e annunciata. Controlla Stato e tempi di attività.
504 Timeout del gateway
La tua applicazione stava ancora funzionando quando il web server ha perso la pazienza. Nulla si è bloccato. Era semplicemente troppo lento.
Cause tipiche:
- Un'importazione, esportazione, backup o operazione di massa di lunga durata eseguita attraverso il browser.
- Un plugin che chiama un'API esterna lenta su ogni caricamento di pagina.
- Una query di database costosa senza un indice dietro.
- Un'attività cron attivata da una visualizzazione di pagina anziché da cron reale.
Cosa fare:
- Identifica quale richiesta è lenta. La scheda APM sui siti WordPress te lo mostra. Vedi Prestazioni del sito.
- Per operazioni lunghe, usa la riga di comando anziché il browser. Vedi WP-CLI.
- Sposta il lavoro pianificato su cron reale. Vedi Lavori cron.
- Aumenta
max_execution_timese il lavoro ha davvero bisogno di più tempo, anche se questo è una soluzione temporanea anziché una correzione. Vedi Estensioni e impostazioni PHP.
Nota la differenza: se PHP raggiunge per primo il suo limite di esecuzione ottieni un 500, non un 504. Entrambi significano "troppo lento", a livelli diversi.
Nessuna risposta del tutto
A volte non c'è codice di errore, perché non c'è risposta. La connessione si blocca e alla fine scade.
Se succede da una rete ma il sito funziona da un'altra, e specialmente da un telefono su dati mobili, la causa più probabile è un blocco automatico di abuso: un'ondata di errori o accessi falliti dal tuo indirizzo ha attivato un ban temporaneo a livello di rete. Questi si risolvono da soli, di solito entro un'ora. Se hai bisogno che sia eliminato prima, contatta il supporto con l'indirizzo IP da cui ti stai connettendo.
Pagine di errore personalizzate
Puoi sostituire la pagina di errore predefinita per 400, 401, 403, 404, 500, 502, 503 e 504 con il tuo HTML, sotto Siti web, il sito, Avanzate, quindi Pagine di errore. Kapsule fornisce impostazioni predefinite con marchio per 404, 500, 502, 503 e 504 se non lo fai.
Una cosa che vale la pena sapere: una pagina di errore personalizzata mantiene il codice di stato reale. Un 404 personalizzato restituisce comunque 404. Servire la tua pagina di errore con uno stato 200 è un modo classico per distruggere le tue classifiche di ricerca, ed è deliberatamente impossibile qui. Vedi Pagine di errore personalizzate.