Files
testvue/TROUBLESHOOTING.md
Carmine Savino 55e14a95ae
All checks were successful
Deploy / deploy (push) Successful in 19s
Aggiungi script di debug e aggiornamenti alla configurazione per il deploy
2026-01-23 10:33:31 +01:00

4.2 KiB

Troubleshooting 404 Error

Se ottieni un errore 404 visitando il sito, segui questi passaggi:

1. Esegui lo Script di Debug

Sul server, nella directory del progetto:

chmod +x debug-server.sh
./debug-server.sh

Questo script ti mostrerà:

  • Stato del container
  • Logs
  • File presenti in nginx
  • Configurazione rete
  • Labels Traefik

2. Problemi Comuni e Soluzioni

Container non in esecuzione

Verifica:

docker ps -a | grep vue-demo-app

Soluzione:

docker-compose up -d

File mancanti in /usr/share/nginx/html/

Verifica:

docker exec vue-demo-app ls -la /usr/share/nginx/html/

Dovrebbe mostrare:

  • index.html
  • assets/ (directory)

Soluzione se i file mancano:

# Rebuild completo
docker-compose down
docker-compose build --no-cache
docker-compose up -d

Rete web_proxy non esiste

Verifica:

docker network ls | grep web_proxy

Soluzione:

docker network create web_proxy
docker-compose restart

Container non sulla rete corretta

Verifica:

docker inspect vue-demo-app --format='{{range $key, $value := .NetworkSettings.Networks}}{{$key}}{{"\n"}}{{end}}'

Soluzione:

docker network connect web_proxy vue-demo-app
docker-compose restart

Variabile DOMAIN non configurata

Verifica:

cat .env

Soluzione:

echo "DOMAIN=tuo-dominio.com" > .env
docker-compose down
docker-compose up -d

Traefik non trova il container

Verifica labels:

docker inspect vue-demo-app | grep -A 20 Labels

Verifica logs Traefik:

docker logs traefik | grep vue-demo

Possibili problemi:

  1. Dominio nel .env non corrisponde al DNS
  2. Traefik non è sulla stessa rete del container
  3. Labels Traefik non corretti

Soluzione:

# Ricrea container con labels corretti
docker-compose down
docker-compose up -d

# Verifica che entrambi siano sulla rete web_proxy
docker network inspect web_proxy

Nginx restituisce 404

Test diretto:

# Ottieni IP del container
CONTAINER_IP=$(docker inspect vue-demo-app --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}')

# Test diretto (dall'interno del server)
curl http://$CONTAINER_IP

Se questo funziona ma il dominio no, il problema è Traefik. Se anche questo restituisce 404, il problema è nginx/build.

Soluzione problemi nginx:

# Verifica file
docker exec vue-demo-app cat /usr/share/nginx/html/index.html

# Verifica configurazione nginx
docker exec vue-demo-app nginx -t

# Rebuild se necessario
docker-compose build --no-cache
docker-compose up -d

3. Verifica Configurazione Traefik

Assicurati che Traefik sia configurato correttamente:

Verifica entrypoints:

docker inspect traefik | grep -i entrypoint

Dovrebbe avere:

  • web su porta 80
  • websecure su porta 443

Verifica cert resolver:

docker inspect traefik | grep -i letsencrypt

Dovrebbe avere il resolver letsencrypt configurato.

Verifica rete:

docker network inspect web_proxy

Traefik e vue-demo-app devono essere entrambi su questa rete.

4. Test Manuale Completo

# 1. Verifica DNS
nslookup tuo-dominio.com

# 2. Verifica rete
docker network inspect web_proxy

# 3. Verifica container
docker ps | grep vue-demo

# 4. Test interno
docker exec vue-demo-app wget -O - http://localhost

# 5. Verifica logs
docker logs vue-demo-app
docker logs traefik | grep vue-demo

# 6. Test dal server
curl -H "Host: tuo-dominio.com" http://localhost

# 7. Test esterno
curl https://tuo-dominio.com

5. Rebuild Completo (Last Resort)

Se nulla funziona:

# Stop tutto
docker-compose down

# Rimuovi immagini vecchie
docker rmi vue-demo:latest
docker system prune -f

# Verifica .env
cat .env

# Rebuild completo
docker-compose build --no-cache

# Verifica rete
docker network ls | grep web_proxy || docker network create web_proxy

# Avvia
docker-compose up -d

# Controlla logs
docker-compose logs -f

6. Contatta Supporto

Se dopo tutti questi passaggi il problema persiste, raccogli le seguenti informazioni:

./debug-server.sh > debug-output.txt
docker-compose logs > docker-logs.txt

E invia i file di output per ulteriore analisi.