Как позвонить http://metadata.ggogle.internal из веб-приложения, загруженного через https - PullRequest
1 голос
/ 18 апреля 2020

У меня есть веб-приложение Angular, работающее в Cloud Run (nginx веб-сервер) ( дополнительная информация здесь ), из которого я хочу получить токен доступа с сервера метаданных GCP. Я попытался позвонить на https://metadata.google.internal (используя curl из Cloud Shell), но соединение было отклонено. Звонки по HTTP работают хорошо.

Когда я выполняю вызов из моего приложения (которое загружается через https) на сервер метаданных через HTTP - логически я получаю смешанную ошибку содержимого. При попытке доступа к серверу метаданных через HTTPS - я получаю ошибку 504 Тайм-аут шлюза, я полагаю, по той причине, что сервер метаданных отклоняет вызовы по HTTPS.

Я буду очень признателен за любую идею, как решить этот вопрос.

1 Ответ

5 голосов
/ 18 апреля 2020

Конечная точка URL metadata.google.internal доступна только изнутри экземпляра (Cloud Run). Эта конечная точка недоступна вне экземпляра, например, через вызов HTTP или HTTPS. Подсказка - TLD (домен верхнего уровня) internal.

Если вы хотите получить удаленный доступ к этой конечной точке через веб-браузер, вам нужно будет сделать запрос из браузера в Cloud Run (конечная точка в ваш код), который затем выполняет внутренний запрос к серверу метаданных и возвращает ответ клиенту.

...