要在一个域名下同时使用App Engine和Firebase Hosting,可以使用反向代理来实现。
以下是一个示例代码来实现此解决方案:
handlers:
- url: /firebase/(.*)
script: firebase_hosting.app
- url: /.*
script: main.app
firebase_hosting.py
的Python文件,用于处理Firebase Hosting的请求。以下是一个简单的示例代码:from flask import Flask, request
import requests
app = Flask(__name__)
@app.route('/')
def proxy():
# 获取Firebase Hosting请求的路径
path = request.path[10:] # 去掉 '/firebase/' 前缀
# 构建Firebase Hosting请求的URL
url = f'https://your-firebase-project.web.app/{path}'
# 发送Firebase Hosting请求
response = requests.get(url)
# 返回Firebase Hosting的响应
return response.content, response.status_code, response.headers.items()
if __name__ == '__main__':
app.run()
确保在App Engine和Firebase Hosting中都使用相同的域名。例如,您可以将域名设置为example.com
。
现在,您可以通过访问https://example.com/firebase/
来访问Firebase Hosting中的内容,并且可以通过访问https://example.com/
来访问App Engine中的内容。