# Configuración optimizada de Nginx # Nginx sirve archivos estáticos directamente (más rápido) # Node.js solo maneja las APIs server { listen 80; server_name parking.local; # Cambia por tu dominio o IP # Tamaño máximo para uploads client_max_body_size 10M; # Ruta a los archivos estáticos root /ruta/completa/a/PARKING/public; # ⚠️ CAMBIA ESTA RUTA index index.html; # Archivos estáticos (HTML, CSS, JS, imágenes) # Nginx los sirve directamente sin pasar por Node.js location ~* \.(html|css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2|ttf|eot)$ { expires 1d; add_header Cache-Control "public, immutable"; try_files $uri =404; } # Páginas HTML principales location / { try_files $uri $uri/ /index.html; } # Admin y login location ~ ^/(admin|login)\.html$ { try_files $uri =404; } # API endpoints - Proxy a Node.js location /api/ { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # Timeouts para operaciones largas proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; } # Archivos de datos y uploads - también van a Node.js location /data/ { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Host $host; } # Logs access_log /var/log/nginx/parking_access.log; error_log /var/log/nginx/parking_error.log; }