"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué mi aplicación React recibe un error CORS al acceder a una API de subdominio: \"no se pudo acceder al subdominio desde el dominio principal: No \'Access-Control-Allow-Origin\'\"?

¿Por qué mi aplicación React recibe un error CORS al acceder a una API de subdominio: \"no se pudo acceder al subdominio desde el dominio principal: No \'Access-Control-Allow-Origin\'\"?

Publicado el 2024-12-23
Navegar:115

Why Does My React App Get a CORS Error When Accessing a Subdomain API: \

Comprensión de los errores de CORS: 'no se pudo acceder al subdominio desde el dominio principal: No hay 'Acceso-Control-Permitir-Origin''

Compartimiento de recursos entre orígenes (CORS) Es un mecanismo que permite que diferentes dominios interactúen entre sí. Cuando un servidor API se ejecuta en un subdominio y una aplicación React opera en el dominio principal, pueden ocurrir errores CORS, como el error "no se pudo acceder al subdominio desde el dominio principal: No hay 'Acceso-Control-Permitir-Origin'".

Investigando el problema

Inspeccione la solicitud de verificación previa en Chrome DevTools para verificar si hay respuestas almacenadas en caché y solicitudes de verificación previa. Ejecute la solicitud de verificación previa utilizando una herramienta como curl, y recuerde agregar la opción -i para generar los encabezados de respuesta.

Análisis de caso

  • Caso 1: Este El enfoque utiliza la configuración CORS predeterminada, que permite un origen comodín. Sin embargo, las pruebas revelan que funciona correctamente.
  • Caso 2: Personalizar los orígenes, métodos y encabezados permitidos también resulta exitoso.
  • Caso 3: Manejar manualmente los encabezados CORS es otra solución viable.

Resolver el Problema

Mal configuración en el grupo objetivo de AWS Load Balancer (basado en la solución de OP)

La causa principal de este problema en particular fue una mala configuración en el grupo objetivo de AWS Load Balancer. El protocolo del grupo objetivo se configuró en HTTPS aunque no se proporcionaron los certificados SSL adecuados. La corrección del protocolo resolvió el problema.

Consejos de depuración

  • Deshabilite el almacenamiento en caché en Chrome DevTools para evitar respuestas de verificación previa almacenadas en caché.
  • Envíe directamente solicitudes de verificación previa a su servicio para eliminarlas posible interferencia de proxy.
  • Imprima el búfer de solicitud (por ejemplo, usando httputil.DumpRequest) para depurar propósitos.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3