【发布时间】:2021-03-16 13:48:30
【问题描述】:
当我尝试从客户端向部署在应用引擎上的 socketio flask 服务器发送请求时,我收到以下错误:
已被 CORS 政策阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。
我确实在我的 python 服务器脚本中添加了以下行:
socketio = SocketIO(app, cors_allowed_origins='*')
我还添加了以下行:
CORS(app)
我做错了什么?
我尝试使用 url 处理程序的 Allow_cors_origin 更改 app.yaml,安装 flask-cors 包,没有任何效果
编辑: 调试时在应用引擎中发现以下消息:
{ "textPayload": "客户端正在使用不受支持的 Socket.IO 或 Engine.IO 协议版本(此错误的进一步出现将使用级别 INFO 记录)", "insertId": "5fca5af900064b8faf6f9267", “资源”:{ “类型”:“gae_app”, “标签”: { "module_id": "默认", "project_id": "海岛战", "version_id": "20201204t174848", “区域”:“欧洲西部 6-3” } }, “时间戳”:“2020-12-04T15:51:21.412559Z”, “标签”: { “clone_id”:“00c61b117cf0689fb08fabba9037f4624c77b480da8e9472be2b02038e0fe7d2d8dcac81021c” }, "logName": "projects/island-battles/logs/stderr", “接收时间戳”:“2020-12-04T15:51:21.465294012Z” }
我该如何解决这个问题?谢谢
第二次编辑: 在我的本地版本中一切正常,问题出在应用引擎上
【问题讨论】:
-
这可能是help
-
将此添加到您的 yaml 文件中
Access-Control-Allow-Origin: https://your_deployed_website.com -
@GuneshShanbhag,我的游戏是跨平台的,所以不是只有一个网址
-
@GuneshShanbhag 也,我尝试在 app.yaml 文件中写入文档中所说的内容,但对我不起作用。我需要处理主文件的请求,而不是静态文件
标签: python google-app-engine flask socket.io flask-socketio