nginx - 如何识别来自特定用户的相同请求

时间:2016-02-12 15:12:17

标签: nginx nginx-location

是否可以使Nginx配置计算来自特定用户的相同请求,并根据处理的请求数量进行操作?

例如,用户对同一个网址发出三个请求: http://example.com/file

在此特定用户的第一次请求时,我们将重定向到: http://example.com/file/one

来自此用户的第二个请求重定向转到: http://example.com/file/two

然后Nginx以某种方式理解这是来自其重定向到的SAME用户的http://example.com/file的第三个请求: http://example.com/file/three

那么,有可能吗?

1 个答案:

答案 0 :(得分:1)

是的,有可能但是:

首先:您需要定义“相同用户”的含义(相同的IP?,会话标题?Cookie?...)

第二:我不认为使用“vanilla nginx”(没有附加模块)存在这样的功能然而,在ngx_lua (openresty)之类的模块的帮助下使用它shared dictionary feature并不难实现它{3}} 将“唯一用户标识符”作为密钥,将请求计为值。在那里,您可以验证地图状态以生成重定向。