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.
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:
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:
Esta configuración permite que el servicio de Frontend invoque el servicio de Backend.