从nginx传递到uwsgi的客户端连接ID

3 投票
1 回答
524 浏览
提问于 2025-04-17 10:55

我现在的设置是这样的:

客户端 -> Nginx -> uWSGI -> Python 应用

客户端和 Nginx 之间的连接是持久的。也就是说,它们之间的连接会一直保持,不会频繁断开。不过,我知道 Nginx 和 uWSGI 之间并不支持这种持久连接。

我想知道有没有办法把 Nginx 的连接 ID 传递给 uWSGI,这样我就可以区分不同的客户端了。我的需求是这样的:客户端不支持 cookies,而且我不能修改客户端的代码。客户端会向同一个 URL 发送一些 JSON 数据,所以我不能通过修改 URL 来区分它们。

1 个回答

0

这里有两个解决办法:

  • 把客户端和它发送的IP地址或者其他信息关联起来;

  • 在第一次连接时生成一个会话ID,然后把页面上的所有链接都改成 /link/to/page?sid=%(sessionid)s 这种格式。虽然看起来不太美观,但确实有效。

撰写回答