# Configuración Nginx para EMERGES TES
# Copiar a /etc/nginx/sites-available/emerges-tes
# Crear symlink: sudo ln -s /etc/nginx/sites-available/emerges-tes /etc/nginx/sites-enabled/
# Probar: sudo nginx -t
# Reiniciar: sudo systemctl reload nginx

server {
    listen 80;
    server_name emergestes.com www.emergestes.com;

    # Redirigir a HTTPS (descomentar después de configurar SSL)
    # return 301 https://$server_name$request_uri;

    # Root del proyecto (ajustar ruta según tu servidor)
    root /var/www/emerges-tes/dist;
    index index.html;

    # Logs
    access_log /var/log/nginx/emerges-tes-access.log;
    error_log /var/log/nginx/emerges-tes-error.log;

    # Compresión
    gzip on;
    gzip_vary on;
    gzip_min_length 1024;
    gzip_types text/plain text/css text/xml text/javascript application/javascript application/xml+rss application/json;

    # Cache para assets estáticos
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    # SPA: todas las rutas van a index.html
    # Esto permite que React Router maneje el enrutamiento del lado del cliente
    location / {
        try_files $uri $uri/ /index.html;
    }
    
    # Asegurar que las rutas de la API o servicios no se redirijan
    # (si en el futuro se añade un backend)
    # location /api/ {
    #     proxy_pass http://localhost:3001;
    # }

    # No cachear index.html (para actualizaciones)
    location = /index.html {
        add_header Cache-Control "no-cache, no-store, must-revalidate";
        add_header Pragma "no-cache";
        add_header Expires "0";
    }

    # Service Worker y manifest
    location ~* \.(sw\.js|manifest\.json)$ {
        add_header Cache-Control "no-cache, no-store, must-revalidate";
    }
}

# Configuración HTTPS (descomentar después de obtener certificado SSL)
# server {
#     listen 443 ssl http2;
#     server_name emergestes.com www.emergestes.com;
#
#     ssl_certificate /etc/letsencrypt/live/emergestes.com/fullchain.pem;
#     ssl_certificate_key /etc/letsencrypt/live/emergestes.com/privkey.pem;
#
#     # SSL optimizations
#     ssl_protocols TLSv1.2 TLSv1.3;
#     ssl_ciphers HIGH:!aNULL:!MD5;
#     ssl_prefer_server_ciphers on;
#
#     root /var/www/emerges-tes/dist;
#     index index.html;
#
#     # ... resto de configuración igual que HTTP ...
# }
