【发布时间】:2017-08-21 17:37:53
【问题描述】:
我在我的应用程序中实现了一个类似 facebook 的消息系统,现在我尝试使用 varnish 来提高性能。(即缓存用户消息对话)。用户对话必须受到保护,以便只有经过身份验证的用户才能查看它。
我使用 oauth2 来授权/验证用户,因此检索用户消息的请求是这样的。
curl -X GET user/{id}/message/thread/{thread} -H 'Authorization: Bearer XXX'
据我了解清漆缓存,如果请求具有授权或 Cookie 标头,清漆的默认设置不会缓存内容,我可以在清漆设置中对标头信息进行条带化,但如果这样做,我将失去控制权后端以识别用户是否是经过身份验证的用户。
所以我的问题是:在这种情况下使用清漆缓存的最佳做法是什么?
目前,我有一个解决方法,而是在标头中发送授权,我将其作为查询字符串附加,所以它将类似于
curl -X GET user/{id}/message/thread/{thread}?access_token=XXX
它有效,但我觉得这不是一个正确的方法,有什么想法吗?
谢谢!
【问题讨论】:
标签: web-services caching authorization varnish