nginx – 忽略Varnish VCL中的GET参数
发布时间:2020-12-13 21:14:01 所属栏目:Nginx 来源:网络整理
导读:好的:我有一个站点设置,其中包含我们向开发人员公开的一些API,这些API采用的格式 /api/item.xml?type_ids=34,35,37region_ids=1000002,1000003key=SOMERANDOMALPHANUM 在此URI中,始终设置type_ids,region_ids和key是可选的. 需要注意的重要一点是,关键变量
好的:我有一个站点设置,其中包含我们向开发人员公开的一些API,这些API采用的格式
在此URI中,始终设置type_ids,region_ids和key是可选的. 需要注意的重要一点是,关键变量不会影响响应的内容.它用于内部跟踪请求,因此我们可以识别发出缓慢或不需要的请求的人. 在Varnish,我们有一个像这样的VCL:
我们只是删除cookie并让后端完成其余的事情(这是一个hackaround,因为Rails / authlogic发送带有API响应的会话cookie). 目前,任何不同的开发人员基本上都会遇到不同的缓存,因为& key = SOMEALPHANUM被认为是用于存储的Varnish哈希的一部分.这显然不是一个很好的解决方案,我正试图找出如何告诉Varnish忽略URI的那一部分. 最佳答案
如果你需要将key = SOMEALPHANUM保留在后端以防万一没有从缓存中传递,那么最好在vcl_hash函数中调用regsub,因为这不会真正改变url,而只是改变了hash的哈希值.钥匙.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |