Tengo una aplicación web Angular que se ejecuta en Cloud Run (servidor web nginx) ( más información aquí ) de la que quiero obtener el token de acceso del servidor de metadatos de GCP. Intenté hacer una llamada a https://metadata.google.internal (usando curl de Cloud Shell) pero se rechazó la conexión. Las llamadas a HTTP funcionan bien.
Cuando realizo la llamada desde mi aplicación (que se carga a través de https) al servidor de metadatos a través de HTTP, lógicamente obtengo un error de contenido mixto. Cuando intento acceder al servidor de metadatos a través de HTTPS, recibo el error 504 Tiempo de espera de puerta de enlace, supongo que se debe a que el servidor de metadatos rechaza las llamadas en HTTPS.
Realmente agradeceré cualquier idea de cómo resolver este problema.
Solo se puede acceder al punto final de URL metadata.google.internal desde dentro de la instancia (Cloud Run). No se puede acceder a este punto final fuera de la instancia, como a través de una llamada HTTP o HTTPS. Una pista es el TLD (dominio de nivel superior) internal .
Si desea acceder a este punto final de forma remota a través de un navegador web, deberá realizar una solicitud desde el navegador a Cloud Run (un punto final en su código), que luego realiza la solicitud interna al servidor de metadatos y devuelve la respuesta al cliente. .