【发布时间】:2012-02-27 11:31:46
【问题描述】:
我遵循了这个教程:http://www.stephendiehl.com/?p=309 描述了如何运行一个 gevent pywsgi 服务器,它在 nginx 前端后面使用 socketio 为 Django 提供服务。
正如本教程所说,Nginx 不支持 websocket,除非使用 tcp 代理模块。这个代理模块不支持socketio和经典服务使用相同的端口,据我了解配置如下:
nginx 监听 80 端口
nginx tcp 代理监听 7000 端口
所有内容都转发到端口 8000
问题:生成的 socketio 请求不包含包含会话 id 的 django cookie,因此我的 django 视图中没有关于请求用户的信息。
我猜这是因为请求是向另一个端口(7000)发出的,导致浏览器将请求识别为跨域?
将 django cookie 包含到请求中的最干净的方法是什么?
【问题讨论】:
标签: django http cookies nginx websocket