angular - 在谷歌云中部署后,Angular 应用程序无法调用 Flask 服务器 API
问题描述
当我尝试练习使用谷歌云时,我遇到了一些问题。我正在尝试将 Flask 作为后端服务器部署到 Google 云,并将 Angular 作为前端应用程序。
但是,有一条消息500 Server Error
,并且 CORS 阻止了 Angular 应用程序对 Flask 服务器的请求。这发生在我将两者都部署在单独的 Google 云项目中之后。
我不确定是否应该在生产模式下部署服务器,但我没有这样做。有没有可能你会给我建议?
解决方案
您应该在托管在 GCP上的后端启用CORS 。flask
跨域资源共享 (CORS) 是一种机制,允许从提供第一个资源的域之外的另一个域请求网页上的受限资源
检查这些资源:
- https://flask-cors.readthedocs.io/en/latest/
- Flask/Flask-CORS:缺少 CORS 标头“Access-Control-Allow-Origin”
- 如何在烧瓶中启用 CORS
例如:
app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": ["http://localhost:4200", "URL_ON_GCP"]}})
您的托管后端的 URL在哪里URL_ON_GCP
,例如: