Apache 如何添加不同的自定义标题
我的应用程序正在根据用户国家/地区代码更改内容 服务器请求流 https请求->nginx处理ssl终止->清漆->如果未缓存,则从apache获取内容 http rquest->varnish->重定向到https链接->nginx处理ssl终止->varnish->如果未缓存,则从apache获取内容 使用varnish GeoIP模块,我找到了用户国家代码,并将值设置为headerApache 如何添加不同的自定义标题,apache,nginx,varnish,vary,Apache,Nginx,Varnish,Vary,我的应用程序正在根据用户国家/地区代码更改内容 服务器请求流 https请求->nginx处理ssl终止->清漆->如果未缓存,则从apache获取内容 http rquest->varnish->重定向到https链接->nginx处理ssl终止->varnish->如果未缓存,则从apache获取内容 使用varnish GeoIP模块,我找到了用户国家代码,并将值设置为headerreq.http.X-country-code我在应用程序中读取了这个header值 问题:它总是缓存第一次命
req.http.X-country-code
我在应用程序中读取了这个header值
问题:它总是缓存第一次命中并服务于所有位置
我希望添加不同的标题将解决我的问题,你能指导我吗
我不确定在哪里添加vary头文件nginx或apache。添加
vary
头文件应该可以解决这个问题,如果您可以访问支持的代码,则最好不要更改内部代码
但在哪里添加它呢?最好的方法是在应用程序中执行。应用程序决定服务什么,它应该有权决定缓存什么以及何时缓存,毕竟将来你可以用其他东西替换nginx或Varnish,在你和客户端之间可能还有其他缓存。我在应用程序(php)中添加了它的工作原理:-)header('Vary:X-Country-code')$countryCode=$\u服务器['HTTP\u X\u COUNTRY\u CODE']代码>