Cómo Solucionar el Error de CORS en Node.js y Express Paso a Paso

Cómo Solucionar el Error de CORS en Node.js y Express Paso a Paso
Anuncio relacionado

Introducción al Error de CORS en Aplicaciones Web

Cuando desarrollas aplicaciones web modernas utilizando una arquitectura desacoplada, es muy común encontrarse con el temido error de CORS (Cross-Origin Resource Sharing) en la consola del navegador. Este mecanismo de seguridad implementado por los navegadores web bloquea las peticiones HTTP realizadas desde un dominio, puerto o protocolo distinto al del servidor backend.

Causas Principales del Bloqueo CORS

El error se produce principalmente debido a:

  • El frontend se ejecuta en un origen (ejemplo: http://localhost:3000) y el backend en otro diferente (ejemplo: http://localhost:5000).
  • Falta de los encabezados HTTP requeridos por el navegador en la respuesta del servidor.
  • Configuración restrictiva que no permite métodos HTTP específicos como POST, PUT o DELETE.

Método 1: Instalar y Configurar el Paquete CORS en Express

La forma más recomendada y limpia de solucionar este problema en Node.js utilizando Express es mediante el uso del middleware oficial cors.

  1. Abre tu terminal en la raíz del proyecto backend.
  2. Instala el paquete ejecutando el siguiente comando:
    npm install cors
  3. Abre tu archivo principal del servidor (por lo general app.js o server.js).
  4. Importa y habilita el middleware antes de definir tus rutas:
    const cors = require('cors');
    const app = express();
    app.use(cors());

Método 2: Configurar Orígenes Específicos para Mayor Seguridad

Si tu aplicación va a pasar a producción, dejar CORS abierto a cualquier origen (*) puede representar un riesgo de seguridad. Es mejor limitar el acceso únicamente a los dominios confiables.

  1. Modifica la inicialización del middleware CORS en tu archivo de servidor de la siguiente manera:

  2. const whitelist = ['https://tudominio.com', 'http://localhost:3000'];
    const corsOptions = {
    origin: function (origin, callback) {
    if (whitelist.indexOf(origin) !== -1 || !origin) {
    callback(null, true);
    } else {
    callback(new Error('Bloqueado por la política CORS'));
    }
    }
    };
    app.use(cors(corsOptions));
  3. Guarda los cambios y reinicia tu servidor Node.js para aplicar la nueva política de seguridad.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
WordPress

Cómo Solucionar el Error al Establecer una Conexión con la Base de Datos en WordPress

Aprende a diagnosticar y reparar el fallo de conexión a la base de datos en tu sitio de WordPress de forma rápida y segura. Sigue nuestra guía experta.

Leer guía completa →
WordPress

Cómo Solucionar la Pantalla Blanca de la Muerte en WordPress Paso a Paso

Descubre por qué aparece la temida pantalla en blanco en tu web y cómo puedes solucionarla tú mismo aplicando métodos sencillos paso a paso.

Leer guía completa →
WordPress

Cómo Solucionar el Error Estableciendo una Conexión con la Base de Datos en WordPress Paso a Paso

El error al conectar con la base de datos en WordPress interrumpe completamente el acceso a tu sitio web. Aprende a diagnosticar sus causas y solucionarlo en pocos minutos con esta guía práctica.

Leer guía completa →