我们有一个 nginx-reverse-proxy/cache 和多个后端服务器。
目前我们的设置存在一个问题,即如果用户访问缓存站点,则他/她不会获得会话 cookie 设置,因为后端没有被访问。这显然是预期的行为。
然而,在我们的例子中,我希望反向代理在任何后端服务器被访问之前就发送带有缓存响应的会话 cookie。
我知道我可以使用
add_header Set-Cookie
但我怎样才能
- 确保 cookie 仅设置一次?
- 以非硬编码的 uuid 形式生成 cookie?
答案1
您可以尝试使用 nginxlua
语言复制应用软件的会话 cookie 生成逻辑。
但是,实现这一点的更好方法是使用页面上的 JavaScript,它会调用页面中的 URL 来获取会话 cookie。