4

我试图使用 esi 在我的网站上进行 ninja 缓存。这个想法是,该网站大部分是静态的,如果用户登录与否,我只需要做一些花哨的事情。所以我试图在页面 A 上放置一个,并在页面 B 的应用程序中设置触发器。

这样我可以将页面 A 缓存在 varnish 上,让服务器处理页面 B 的小工作。

但是我在页面 B 上设置的 cookie 没有转发到页面 A 的标题并且没有工作 =/

这是我试图做的可能吗?

我可以使用 ajax,但是在将页面发送给用户之前在服务器内部执行此操作对我来说似乎更正确。

ps:我无法创建esi标签=/

4

1 回答 1

7

您不能通过 esi 包含设置 cookie,因为 esi 是由 varnish 请求的,而不是由客户端请求的。

您可以做的是通过 ESI 包含一个 javascript 标签或跟踪像素,然后以这种方式设置您的 cookie。或者你可以扭转你正在做的事情,让你的主要网络服务器请求设置 cookie 并做你的用户的东西,然后包含一个 ESI 来获取不需要 cookie 的内容。

于 2011-08-14T13:34:14.543 回答