es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conecta los servicios de Google Cloud Run con VCP y obtén un error 403.

Tengo 2 servicios, frontend y backend, desplegados en Google Cloud Run.

Quiero permitir que solo el frontend envíe solicitudes al backend, por lo que configuro la entrada del backend para permitir solo tráfico interno.

Luego, configuro acceso VPC sin servidor con estas guías.

Ahora ambos servicios se conectan al mismo conector VPC. La salida del frontend se configura como Enrutamiento de todo el tráfico a través del conector VPC y la salida del backend se configura como Enrutamiento solo de solicitudes a direcciones IP privadas a través del conector VPC.

Pero cuando envío una solicitud desde el frontend al backend, aparece el error de CORS 403 preflight.

Intenté agregar permisos al servicio de backend utilizando la cuenta de servicio de frontend y configuré el rol como Cloud Run Invoker, pero aún obtengo un error 403.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución:

    El error 403 indica que la solicitud está siendo bloqueada debido a la política de CORS. Para permitir que el frontend envíe solicitudes al backend, debes agregar la URL del backend a los orígenes permitidos del frontend. Aquí están los pasos para configurar la política de CORS:

    1. Ve a la Consola de Cloud y selecciona el servicio de Frontend.
    2. Haz clic en el botón ‘Editar’ para editar la configuración del servicio.
    3. Desplázate hacia abajo hasta la sección ‘Configuración avanzada’ y haz clic en ‘Agregar elemento’ debajo de ‘CORS’.
    4. Ingresa la URL del Backend en ‘Origen’.
    5. Para ‘Encabezados de respuesta’, selecciona ‘Access-Control-Allow-Origin’.
    6. Guarda la configuración.

    Esta configuración permite que el frontend envíe solicitudes al backend.

    Adicionalmente, debes asegurarte de que la cuenta de servicio del frontend tenga los permisos necesarios para invocar el servicio del backend. Aquí están los pasos para establecer el rol correcto para la cuenta de servicio:

    1. Ve a la Consola de Cloud y selecciona el servicio de Backend.
    2. Haz clic en el botón ‘Editar’ para editar la configuración del servicio.
    3. Desplázate hacia abajo hasta la sección ‘Seguridad’ y haz clic en ‘Agregar miembro’ debajo de ‘Invocador de Cloud Run’.
    4. Ingresa la dirección de correo electrónico de la cuenta de servicio del Frontend y establece el rol como ‘Invocador de Cloud Run’.
    5. Guarda la configuración.

    Esta configuración permite que el servicio de Frontend invoque el servicio de Backend.

Comments are closed.