我尝试使用基于HTTP头字段的HAProxy粘贴表来限制并发连接的数量。 我可以find很多使用IP地址的例子,但是这在我的情况下不起作用。 我们的应用程序仅在HTTP头字段x-account上区分用户帐户,并期望来自多个IP的请求同时发生。
在这一点上,我不能提供任何错误消息或任何东西,因为我不能够了解configuration到目前为止。 因此,这是关于HAProxy使用/configuration的一个非常基本的问题。
从阅读HAProxy文档后我的理解:
我定义如下的表格:
stick-table type string size 100m store conn_cur
这应该为我提供一个表来存储我的头字段。我没有添加到期,因为我实际上并不在乎,价值将是高度重复无论如何。 另外,ee不要期望比5K-10K更多的条目,即不同的帐户。
到目前为止,文件是非常清楚的,但从这里开始我的麻烦开始。 我想我需要一条线告诉HAProxy它应该把头域的值和连接关联起来,并报告它被打开并最终closures。 这可能是这样的吗?
stick store-request hdr(x-account) account_table
而且,如果超过此用户的最大会话数,则必须有一行拒绝/请求请求。 像这样的东西我猜:
http-request tarpit if hdr(x-account) account_table gt 10
至less这是我所期待的,但我可能完全错了。 正如我之前所说的,我无法find任何使用表格中的string的例子。 如果有帮助,我可以提供完整的HAProxyconfiguration,但是我认为这不是相关的,因为这只是前端定义的一部分,对吗?
任何帮助表示赞赏。
干杯,拉尔夫