我目前在 Google App Engine (GAE) 上部署了一個 ReactJS 前端作為服務,而我的 Flask 后端 API 服務部署在 Google Cloud Run 上。
我做出這些選擇是為了在有合理限制的同時留在免費層。由于我的專案處于測驗階段,我剛剛使用 Cloud Run URL 從前端發出所有請求。但是,現在是我將 Cloud Run API 實體設為私有并且只允許來自 GAE 前端的請求提供服務的時候了。
我在 appspot 服務帳戶上嘗試了一些 Cloud Run Invoker 權限,但無法使其正常作業。我的前端不斷收到 403 禁止錯誤。我不確定如何繼續,因為沒有關于連接 GAE 和 Cloud Run 的檔案。
uj5u.com熱心網友回復:
此處的檔案討論了生成靜態網站。您已經說過您是從 App Engine 連接到 Cloud Run,但您似乎是在 App Engine 上托管靜態網站。連接將不會來自 App Engine,而是來自最終用戶的瀏覽器。
您需要取消對 Cloud Run 服務的訪問限制。這是為服務到服務認證而設計的,不適合最終用戶認證,特別是對于公共站點或有大量用戶的站點。
還有另一種名為Firebase Auth 的產品,它可以幫助您解決這種情況。
uj5u.com熱心網友回復:
根據您對直接呼叫 Cloud Run 的前端靜態頁面的描述。Cloud Run 中有 2 個關鍵標志將在此處應用
--ingress=- 如果您指定internal,internal-and-cloud-load-balancing否則它將永遠無法作業
--no-allow-unauthenticated- 如果您指定了這一點,則每個用戶都需要被授予自己的訪問權限并提供自己的不記名令牌
這是一個更好的設計只需按照預期的方式使用 App Engine,并直接使用 App Engine 的后端
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/361603.html
上一篇:在AppEngine上部署了Hibernate的SpringBoot應用程式無法連接到CloudSQL
下一篇:GCP部署在“更新服務”時失敗
