我想将给定资源的所有请求路由到同一台服务器。如果在服务器上创建资源,则所有后续请求都应路由到同一台服务器。
粘贴在 url 上不是问题,但我怎样才能从第一个响应中填充粘贴表?
例子:
请求:POST /resources
{
"value": "bla"
}
回复:
{
"id": "1234",
"value": "bla"
}
获取/资源/1234
{
"id": "1234",
"value": "bla"
}
第二个请求应该路由到处理第一个请求的同一台服务器。有没有办法用 haproxy 来实现这一点?
答案1
终于找到了一个可行的解决方案。我发布此内容,以防其他人对该解决方案感兴趣。相关行在后端部分如下:
acl recources_path capture.req.uri,field(1,?) /resources
stick-table type string len 10 size 5M
stick match capture.req.uri,field(3,/)
# trying to parse the id out of the post response
stick store-response res.payload(0,0),field(2,{),field(4,\") if METH_POST recources_path