如何获取 nginx 代理中前端返回的“Set-Cookie”头中所有 cookie 的内容
2021-11-6 2:54:50
收藏:0
阅读:366
评论:1
与 https://forum.openresty.us/d/6503-get-content-of-second-set-cookie-header 中提到的问题相似。
我有一个 nginx 配置,它获取上游 auth_request 存储在 Set-Cookie 中的 cookie,并且我需要将这些 set-cookie 返回给客户端,但是无论我尝试返回哪些 cookie,都只有第一个 set-cookie 返回给客户端。
以下是演示此问题的示例配置
location /auth/ {
proxy_pass http://auth/;
proxy_pass_request_body off;
proxy_redirect off;
}
location / {
auth_request /auth/loggedin;
auth_request_set $auth_cookie $upstream_http_set_cookie;
add_header Set-Cookie $auth_cookie;
proxy_set_header Cookie "$http_cookie; $auth_cookie";
proxy_pass http://someservice/;
}
在我的示例中,我希望多个 cookie 可以在 Set-Cookie 头 a=12; PATH:"/", b=2; PATH:/"
中返回,并且我想通过 add_header 将来自上游服务的任何 set-cookie 传递到客户端浏览器。目前只有 cookie a
到达客户端,而 b
总是丢失。
注意: 我希望它具有普遍性,因此不能从头部获取精确的 cookie 名称。
感谢您提供的任何帮助!
原文链接 https://stackoverflow.com/questions/69818474
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
我发现没有其他办法,只能使用 Lua 模块。这应该部分回答了你的问题,它确实回答了问题“如何获取所有的 Set-Cookie 头”。
location / { log_by_lua_block { local cookies = ngx.resp.get_headers()["Set-Cookie"] if cookies~=nil then ngx.log(ngx.ERR, table.concat(cookies, ',')) end } ... }
如果您使用的指令与
log_by_lua_block
不同,我不能保证您能够看到特定的标头,使用access_by_lua_block
我无法看到。 如果你想将东西传递给客户端,可能log_by_lua_block
在工作流程中有点晚了,也许尝试一个更早的方法。