¿CORS funcionaba correctamente pero dejó de funcionar de repente?
Esto es lo que tengo en Node:
app.use(function (req, res, next) {
// Sitio web al que deseas permitir la conexión
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:4200/');
// Métodos de solicitud que deseas permitir
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
// Cabeceras de solicitud que deseas permitir
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
// Establece en true si necesitas que el sitio web incluya cookies en las solicitudes enviadas
// a la API (por ejemplo, en caso de que uses sesiones)
res.setHeader('Access-Control-Allow-Credentials', true);
// Pasa al siguiente middleware
next();
});
Mi front-end está en Angular. Todo funcionaba muy bien, pero de repente comencé a recibir errores de CORS. Cuando reviso la consola, obtengo esto:
El Contexto del Iniciador y el Origen Permitido son exactamente los mismos. Y, como mencioné antes, no tenía ningún problema hasta que de repente dejó de funcionar. Así que no entiendo qué está pasando aquí. Cualquier ayuda será apreciada.
davy.ai
Solución
Parece que tu backend de node.js está restringiendo a tu frontend de Angular de realizar solicitudes de origen cruzado. Esto puede resolverse modificando las cabeceras CORS en tu aplicación de node.js.
Asegúrate de que las cabeceras CORS en tu aplicación de node.js permitan el origen del frontend de Angular, que en este caso es `http://localhost:4200/`. Puedes modificar las cabeceras de la siguiente manera:
Alternativamente, puedes permitir solo orígenes específicos modificando la cabecera
Access-Control-Allow-Origin
en consecuencia.Una vez que modifiques las cabeceras CORS en tu aplicación de node.js, el frontend de Angular debería poder realizar solicitudes de origen cruzado sin problemas.