问题描述
创建了一个新的 python Flask app-engine python 项目,想使用谷歌云存储中的静态文件。我正在使用这个 yaml.file
:
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 3
您在应用引擎中的哪个位置链接到存储 https://storage.googleapis.com/<your-bucket-name>/static/
和应用引擎中的 /static
?从 documentation 中不清楚。
解决方法
您不能将存储在 Google Cloud Storage 上的文件用作 App Engine 环境中的静态文件夹。文档提出的解决方案是有 2 个源(2 个 URL):一个用于 GCS 上的静态文件,另一个用于 App Engine Flex 上的后端。
此设计的主要问题是 CORS 问题。我个人更喜欢另一种设计。
- 设置HTTPS load balancer
- 创建一个bucket backend to serve your source from GCS
- 创建一个serverless NEG to serve your dynamic backend (on App Engine flex)
- 自定义您的Path rule to route correctly the ressource to your respective backends
- 在您的 HTTPS 负载均衡器前设置一个唯一的 DNS(在这种情况下没有 CORS 管理)