【问题标题】:App engine, Flask-Socketio server Cors_Allowed_Origins header is missing应用引擎,Flask-Socketio 服务器 Cors_Allowed_Origins 标头丢失
【发布时间】: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


【解决方案1】:

如果您使用 Flask-SocketIO,请确保安装兼容版本,最新版本与 python-socketio 3.1.2 不兼容,您会收到错误消息。

我跑了:

pip install python-socketio==3.1.2 

按照 Oliver 的建议,但由于我的 Flask-SocketIO 版本为 5.0.1 而出现错误,因此我运行了以下命令:

pip install flask-socketio==4.3.2

这解决了我的问题。

最终你会想要 flask-socketio-4.3.2 python-engineio-3.14.2 python-socketio-4.6.1

这里得出了类似的结论: https://github.com/miguelgrinberg/Flask-SocketIO/issues/1432 https://github.com/juharris/switch-remoteplay/issues/37

【讨论】:

    【解决方案2】:

    此错误是由于 Socket IO 版本不受支持。我想您正在使用latest version,但是,App Engine 通常需要一些时间来支持最新版本。尝试 downgrading 到 v3.x,甚至是 v2.x。

    您可以使用$ pip install <PACKAGE>==<VERSION> 安装特定版本的软件包,在这种情况下,例如:$ pip install python-socketio==3.1.2

    【讨论】:

      猜你喜欢
      • 2021-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      • 2018-01-19
      • 1970-01-01
      • 2016-05-24
      相关资源
      最近更新 更多