Consideraciones para producción
Clase 23 de 27 • Curso de Backend con Node.js: API REST con Express.js
Resumen
¿Cuáles son las recomendaciones antes de enviar una aplicación a producción?
Antes de llevar nuestra aplicación a un entorno productivo, es esencial considerar varios aspectos críticos para garantizar su seguridad y funcionalidad. Estas recomendaciones no son definitivas, pero sí fundamentales para un lanzamiento exitoso.
- Evaluar los permisos de acceso: Define quién tiene permisos para realizar solicitudes a la aplicación.
- Implementar servidores HTTPS: Las conexiones cifradas protegen la comunicación entre el cliente y el servidor.
- Verificar procesos de build: Asegúrate de que toda la compilación y transformación del código, como TypeScript a JavaScript o Sass en CSS, esté funcionando correctamente antes de la producción.
- Remover logs: Los logs pueden causar demoras en Python y deben manejarse correctamente mediante herramientas como Sentry o DataLock.
- Asegurar la aplicación: Considera utilizar Helmet, una colección de middlewares para añadir capas de seguridad a aplicaciones Node.js.
- Ejecutar pruebas unitarias y de integración: Asegúrate de que el código sea correcto y robusto al realizar pruebas antes del lanzamiento.
¿Qué son los CORS y por qué son importantes?
A menudo nos encontramos con el desafío de los CORS al conectar distintos orígenes. Veamos qué son los CORS y cómo afectan nuestra aplicación.
¿Qué son los CORS?
Los CORS, o "Cross-Origin Resource Sharing", son una política de seguridad que restringe las solicitudes realizadas desde un dominio distinto al del servidor original. Esto protege al servidor de solicitudes maliciosas que pueden provenir de diferentes orígenes.
Imagina que desarrollas en un dominio local, digamos localhost:3000
, y realizas peticiones desde el mismo origen. Todo funciona a la perfección porque el servidor acepta estas peticiones al reconocer el origen. Pero, ¿qué sucede al introducir diferentes orígenes?
¿Qué sucede con orígenes distintos?
Al conectar con orígenes distintos - como aplicaciones móviles o servicios externos - el backend los rechazará por no coincidir con el origen conocido. Es común que una aplicación web frontend corra en un dominio diferente a la API, generando un error de CORS.
Error de CORS en acción
Digamos que nuestra aplicación frontend corre en localhost:8080
y desea acceder a la API en localhost:3000
. Si tratamos de conectar desde este frontend, obtenemos un error por el origen no coincidente. Esta discrepancia es un dolor de cabeza para muchos desarrolladores, ya que aplicaciones como Postman o Insomnia no generan este error debido a la manera en que simulan los requests, modificando el origen para evitar restricciones.
¿Cómo solucionar el error de CORS?
La solución al problema de CORS no es inmediata, pero se espera que los desarrolladores adopten medidas como configurar el servidor de backend para permitir orígenes específicos o utilizar proxies que gestionen las peticiones.
Te animamos a investigar esta solución y compartirla en los comentarios. No te preocupes, en la clase próxima abordaremos otros enfoques para resolver este problema.ٚ