कोर्स सामग्री
Cómo configurar Traccar en un subdirectorio (Nginx Reverse Proxy)
Solución a los problemas de enrutamiento al instalar Traccar en un subdirectorio mediante la configuración de un proxy inverso con Nginx.
Emmanuel Díaz Leal Hernández
Por defecto, la interfaz web de Traccar 6.14 está diseñada para ejecutarse en la raíz de un dominio o subdominio (por ejemplo, https://localizador.tudominio.com). Si intentas instalarlo directamente en un subdirectorio o subruta (como https://tudominio.com/traccar/), notarás problemas de enrutamiento de archivos estáticos y WebSockets.
La solución recomendada por la documentación oficial consiste en utilizar un servidor proxy inverso (como Nginx o Apache) para reescribir y redirigir el tráfico de forma correcta hacia el puerto local de Traccar (por defecto, 8082).
Configuración con Nginx (Proxy Inverso para Subdirectorio)
Para que Traccar funcione en la ruta /traccar/ y los WebSockets se mantengan estables (vital en Traccar 6.14 para recibir las actualizaciones de los vehículos en tiempo real sin recargar la web app), añade el siguiente bloque dentro de tu archivo de configuración del bloque de servidor (server {}) en Nginx:
location /traccar/ {
proxy_pass http://127.0.0.1:8082/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Ajustes adicionales de buffering para mejorar la velocidad
proxy_buffering off;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
IMPORTANT
Observa que al final de la directiva proxy_pass http://127.0.0.1:8082/; hay una barra inclinada (/). Esta barra es fundamental, ya que indica a Nginx que debe eliminar la palabra /traccar/ de la URI antes de pasar la petición a Traccar, evitando que el servidor devuelva errores de página no encontrada (404).
Una vez modificado el archivo de configuración, reinicia Nginx para aplicar los cambios:
sudo nginx -t
sudo systemctl restart nginx
Para más información sobre la configuración de conexiones seguras HTTPS y proxies inversos, puedes consultar la guía de conexión segura en la web de Traccar.