Por qué iOS bloquea la conexión
App Transport Security exige conexiones TLS que el sistema pueda validar. Un certificado autofirmado no establece una cadena de confianza pública, aunque el servidor sea legítimo y funcione correctamente dentro de la red del cliente.
Desactivar la validación desde la aplicación parece una salida rápida, pero convierte una restricción de seguridad en una excepción permanente. También deja la lógica de conexión y, con frecuencia, credenciales sensibles dentro del binario móvil.
El proxy delgado
La solución fue colocar un servicio pequeño con un certificado público válido frente al servidor existente. La aplicación móvil sólo se comunica con ese servicio, que valida las solicitudes, añade las credenciales del lado servidor y traduce la respuesta sin modificar el sistema de rastreo.
El proxy también ofrece un punto controlado para CORS, límites de velocidad, registros y rotación de secretos. Su responsabilidad debe mantenerse reducida para que no termine convirtiéndose en otro backend completo.
- TLS válido y renovado automáticamente.
- Credenciales fuera del binario de iOS y Android.
- Lista explícita de orígenes y operaciones permitidas.
- Timeouts, límites de tamaño y registros sin datos sensibles.
Qué no debe ocultar el proxy
Un proxy no corrige por sí solo una autenticación débil ni vuelve seguro un protocolo obsoleto. El tramo entre el proxy y el servidor original también debe protegerse mediante red privada, VPN, reglas de firewall o validación específica del certificado.
La arquitectura correcta documenta ambos tramos, define quién rota cada secreto y monitorea errores de certificado antes de que se conviertan en una caída de la aplicación.
