Caching 从两台服务器为一个url提供两个页面

Caching 从两台服务器为一个url提供两个页面,caching,cookies,nginx,browser-cache,Caching,Cookies,Nginx,Browser Cache,我想从两个服务器为一个url服务两个不同的页面。类似于facebook对登录页面的处理(登录页面与同一url上的个人资料页面) 服务器如何知道要服务的页面?我选择了cookie,因为我想不出其他解决方案 注销时还需要删除cookie。最后,我使用了nginx配置上的branch,将请求推送到正确的服务器并删除(设置过期时间)cookie 好了,现在是bug本身了。Chrome缓存此url,当用户单击链接(指向同一url)时,Chrome将跳过对服务器的请求,并从缓存中打开错误的版本。当调试面板中

我想从两个服务器为一个url服务两个不同的页面。类似于facebook对登录页面的处理(登录页面与同一url上的个人资料页面)

服务器如何知道要服务的页面?我选择了cookie,因为我想不出其他解决方案

注销时还需要删除cookie。最后,我使用了nginx配置上的branch,将请求推送到正确的服务器并删除(设置过期时间)cookie

好了,现在是bug本身了。Chrome缓存此url,当用户单击链接(指向同一url)时,Chrome将跳过对服务器的请求,并从缓存中打开错误的版本。当调试面板中的“禁用缓存”被选中时,它就会工作,我还通过使用wireshark检查流量来确认这一点

要从浏览器的角度重述URL,请执行以下操作:

ex.com/                - Server A
ex.com/login_check     - Server A -> redirects to / with cookie
ex.com/                - Server B
ex.com/?logout         - Server A and remove cookie
ex.com/                - chrome skips request and serves cached content from B

这个问题怎么解决?此外,这种方法看起来太神奇了,很多事情都可能出错。可以采用不同的方式吗?

这可以通过为两台服务器的响应添加标题来解决。
缓存控制:私有,最大年龄=0,必须重新验证,无存储