在 Haproxy 中的 Post 请求的 Cookies 中添加 CSRF 令牌

在 Haproxy 中的 Post 请求的 Cookies 中添加 CSRF 令牌

我向 UAA 发送的 post 请求缺少 CSRF 值,即 X-Uaa-Csrf=2QytIy。这是登录 Cloud Foundry UAA 所必需的。这个问题是由于在 haproxy 中完成了互联网域名/私有域名映射。

获取/登录请求响应具有 X-Uaa-Csrf 令牌,并且我想对我的帖子请求使用相同的令牌。

我必须在 cookies 部分添加 X-Uaa-Csrf=2QytIy。是否可以从 Get 请求中捕获 X-Uaa-Csrf 令牌并将其添加到 Post 请求中

登录获取请求响应如下所示

 ...{...GHTTP/1.1 200 OK
   Server: Apache-Coyote/1.1
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-XSS-Protection: 1; mode=block
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Set-Cookie: X-Uaa-Csrf=mfDZv6; Expires=Wed, 20-Apr-2016 17:49:28 GMT; HttpOnly
Content-Type: text/html;charset=ISO-8859-1
Content-Language: en-US
Content-Length: 2307
Date: Wed, 20 Apr 2016 17:44:28 GMT
Connection: close

我想使用 haproxy 将 X-Uaa-Csrf=mfDZv6 添加到我的帖子请求 Cookies 部分

有可能做到这一点吗

更新:
我尝试过,但没有成功

stick-table type string len 32 1 expire 5m
    stick store-response set-cookie(X-Uaa-Csrf)
    stick store-request cookie(X-Uaa-Csrf)

就我而言,我们有两个 haproxy

1.内部 haproxy (Cloud Foundry)
2.外部 Haproxy (haproxy-1.5.4-2.el7.x86_64.rpm)

我仅在内部 haproxy 中进行了更改。刚才我尝试了这个,但没有成功

rspirep ^(Set-Cookie:.*)\ Domain=uaa.devtest22.io(.*) \1\ Domain=Internet-devtest22.cisco.com\2 if hdr_set_cookie_domain

uaa.devtest22.io 是私有域名
Internet-devtest22.cisco.com 互联网域名

相关内容