如何添加不同的自定义 header
How to add vary custom header
我的应用程序正在根据用户国家代码更改内容。
服务器请求流程
https request -> nginx handle the ssl termination -> varnish -> if not cacheed, get contents from apache
http rquest -> varnish -> redirect to https link -> nginx handle the ssl termination -> varnish -> if not cached get contents from apache
使用 varnish GeoIP 模块我找到了用户国家代码并将值设置为 header req.http.X-Country-Code
我在应用程序中读取了这个 header 值。
问题:它总是缓存第一个命中并提供给所有位置
我希望添加 vary header 可以解决我的问题,你能指导我吗?
我不确定在哪里添加 vary header nginx 或 apache。
添加 Vary
header 应该可以解决问题,如果您可以访问支持的代码,那么最好在 Varnish 中更改 hash。
在哪里添加呢?最好的地方是在应用程序中进行。应用程序决定服务什么,它应该有权决定什么时候缓存什么,毕竟你以后可以用其他东西替换 nginx 或 Varnish,你和客户端之间可能还有其他缓存。
我的应用程序正在根据用户国家代码更改内容。
服务器请求流程
https request -> nginx handle the ssl termination -> varnish -> if not cacheed, get contents from apache
http rquest -> varnish -> redirect to https link -> nginx handle the ssl termination -> varnish -> if not cached get contents from apache
使用 varnish GeoIP 模块我找到了用户国家代码并将值设置为 header req.http.X-Country-Code
我在应用程序中读取了这个 header 值。
问题:它总是缓存第一个命中并提供给所有位置
我希望添加 vary header 可以解决我的问题,你能指导我吗?
我不确定在哪里添加 vary header nginx 或 apache。
添加 Vary
header 应该可以解决问题,如果您可以访问支持的代码,那么最好在 Varnish 中更改 hash。
在哪里添加呢?最好的地方是在应用程序中进行。应用程序决定服务什么,它应该有权决定什么时候缓存什么,毕竟你以后可以用其他东西替换 nginx 或 Varnish,你和客户端之间可能还有其他缓存。