Capitolo 9 · 9.3
Sito web non raggiungibile, 502 Bad Gateway o errore del certificato
La pagina non si carica affatto
- Il nome punta al Suo VPS?
dig +short example.comdeve restituire il Suo indirizzo IP (vedere Un record A e AAAA in I miei domini). - Le porte 80 e 443 sono aperte?
sudo ufw status(vedere Un firewall con ufw (o nftables)). - Il server web è in esecuzione?
systemctl status caddyoppurenginx, oppuresudo docker compose psin/srv/diensten. - C'è qualcosa in ascolto?
sudo ss -tlnp | grep -E ':(80|443) '.
502 Bad Gateway
Il Suo server web funziona, ma non riceve risposta dall'applicazione che si trova dietro.
- L'applicazione è in esecuzione?
sudo docker compose psesudo docker compose logs --tail 50 <app>. - Il nome e la porta nel Caddyfile o in
proxy_passsono corretti? Con Caddy in Docker si tratta del nome del servizio, ad esempiouptime-kuma:3001. Con un server web al di fuori di Docker si tratta di127.0.0.1con la porta pubblicata. - L'applicazione si sta ancora avviando? Alcune applicazioni hanno bisogno di un po' di tempo al primo avvio. Attenda un minuto.
Nessun certificato o errore del certificato
- Controlli nel log perché la richiesta non va a buon fine:
sudo docker compose logs caddy,journalctl -u caddyoppure l'output di certbot. - Let's Encrypt esegue la verifica tramite la porta 80. Se la porta 80 è chiusa, oppure se il record AAAA punta a un indirizzo su cui non c'è nulla in ascolto, la verifica non riesce.
- Ha fatto molti tentativi di seguito? In tal caso potrebbe aver raggiunto un limite di Let's Encrypt. Attenda un'ora e risolva prima la causa.
- Il certificato scade senza essere rinnovato? Esegua un test con
sudo certbot renew --dry-run(nginx) oppure controlli il log di Caddy.
Troppi reindirizzamenti
Il browser segnala che la pagina effettua troppi reindirizzamenti? Spesso l'applicazione crede di funzionare su http e reindirizza a https, dopodiché il proxy reindirizza di nuovo. Verifichi che il Suo proxy invii X-Forwarded-Proto (vedere Un'app dietro un reverse proxy) e che l'indirizzo nell'applicazione inizi con https://.
