He creado un sitio web adaptable en Next js; El cual cuenta con dos versiones una para dispositivos móviles y otra para Desktop. Ambas versiones son proyectos independientes de Nextjs implementados en dos entornos diferentes. Quiero implementar ambos en el mismo dominio y cargar las versiones respectivas según el agente de usuario.
ejemplo: www.test.com cargará el sitio móvil si se encuentra un agente de usuario móvil si no es un sitio de escritorio
Puedo cargar la versión respectiva del sitio si tengo un subdominio como "m.test.com" para la versión móvil y "test.com" para la versión de escritorio (para esto he agregado una lógica de redireccionamiento en next.config.js basado en User-Agent).
No sé dónde escribir la lógica para representar una compilación específica basada en User-Agent en el mismo dominio.
Si tiene dos aplicaciones de nodo diferentes ejecutándose y desea redirigir según el agente de usuario, puede usar $http_user_agent de nginx para reescribir en diferentes puertos donde sus aplicaciones pueden escuchar:
http { map $http_user_agent $ua_port { default '3000'; # port 3000 for your desktop App ~(iPhone|Android) '4000'; # port 4000 for mobile App } server { location / { proxy_pass http://localhost:$ua_port; # proxy_pass to port proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } }