Cloud Run是否正在从我的后端删除CORS头?

Cloud Run是否正在从我的后端删除CORS头?,cors,google-cloud-run,quart,flask-cors,Cors,Google Cloud Run,Quart,Flask Cors,我已经用Python开发了一个简单的后端,使用和。当我使用Postman在localhost上尝试不同的端点时,CORS头被正确返回。一旦我将其部署到Google Cloud Run上,Google似乎会删除后端返回的每个响应上的所有CORS头,因此我的前端会拒绝响应 以前有人遇到过这个问题吗?有没有办法解决这个问题?如果需要我方提供任何其他信息,请告诉我 谢谢你,我一直在做这件事,到目前为止它似乎还在工作。以下代码结合了两种不同的解决方案: 将CORS标头手动添加到Quart提供的make_

我已经用Python开发了一个简单的后端,使用和。当我使用Postman在localhost上尝试不同的端点时,CORS头被正确返回。一旦我将其部署到Google Cloud Run上,Google似乎会删除后端返回的每个响应上的所有CORS头,因此我的前端会拒绝响应

以前有人遇到过这个问题吗?有没有办法解决这个问题?如果需要我方提供任何其他信息,请告诉我


谢谢你,

我一直在做这件事,到目前为止它似乎还在工作。以下代码结合了两种不同的解决方案:

  • 将CORS标头手动添加到Quart提供的make_响应方法中
  • 使用附加库Quart CORS中的方法
单独使用这些解决方案中的任何一个都可能足够了,但不知何故,只有同时使用这两个解决方案,我才设法解决了这个问题

Python代码:

#/usr/bin/env蟒蛇3
#-*-编码:utf-8-*-
"""
用于启动API的脚本。
"""
来自未来导入打印功能
从quart导入quart、蓝图、请求、作出响应、jsonify
从夸脱公司进口公司,路线公司
从http导入HTTPStatus
输入秘密
blueprint\u v0\u login\u options=蓝图('v0\u login\u options',\u名称\u)
blueprint\u v0\u login\u post=蓝图('v0\u login\u post',\u名称\u)
CORS_设置={'allow_origin':'*'}
@blueprint\u v0\u login\u options.route('/v0/login',methods=['options'],provide\u automatic\u options=False)
@路由\u cors(**cors\U设置,提供\u自动\u选项=False)
异步def v0_登录_选项():
返回等待作出响应(
jsonify(无),
HTTPStatus.ACCEPTED,
{
“访问控制允许来源”:“*”,
“访问控制允许标头”:“来源,X请求,内容类型,接受”,
“访问控制允许方法”:“选项,POST”
}
)
@blueprint_v0_login_post.route('/v0/login',methods=['post'],provide_automatic_options=False)
@路由\u cors(**cors\U设置,提供\u自动\u选项=False)
异步def v0\u登录\u post():
json=wait request.get_json()
返回等待作出响应(
jsonify(json),
HTTPStatus.ACCEPTED,
{
“访问控制允许来源”:“*”,
“访问控制允许标头”:“来源,X请求,内容类型,接受”
}
)
def main():
#启动API服务器。
夸脱应用=夸脱(夸脱名称)
夸脱应用程序=cors(夸脱应用程序,**cors设置)
quart\u app.secret\u key=secrets.token\u urlsafe(16)
#登记蓝图。
夸脱应用程序注册蓝图(蓝图v0登录选项)
夸脱应用程序注册蓝图(蓝图v0登录帖子)
夸脱应用程序运行(主机=0.0.0.0',端口=8081)
如果名称=“\uuuuu main\uuuuuuuu”:
main()
Dockerfile:

FROM python:3.8

COPY . /api
WORKDIR /api

# Prepare Python.
RUN apt-get update
RUN pip install --upgrade pip
ENV PYTHONUNBUFFERED=1

# Install module.
RUN python setup.py install

# Run.
CMD PYTHONPATH=. api

谢谢

你能上传一个你正在尝试的样本吗?同时,您是否可以尝试将此添加到主函数:
headers={‘访问控制允许源代码’:“*”}
这里有一个与您的非常类似的,但请提供一个py来尝试并复制tank you@MarioGranados,它终于起作用了。我在下面附上了一个解决方案。到目前为止似乎还有效。