apache - 如何添加不同的自定义标题
问题描述
我的应用程序正在根据用户国家代码更改内容。
服务器请求流
https 请求 -> nginx 处理 ssl 终止 -> varnish -> 如果没有缓存,则从 apache 获取内容
http rquest -> varnish -> 重定向到 https 链接 -> nginx 处理 ssl 终止 -> varnish -> 如果未缓存则从 apache 获取内容
使用清漆 GeoIP 模块,我找到了用户国家代码并将值设置为req.http.X-Country-Code
我在应用程序中读取此标头值的标头。
问题:它总是缓存第一个命中并服务于所有位置
我希望添加不同的标题可以解决我的问题,你能指导我吗?
我不确定在哪里添加不同的标头 nginx 或 apache。
解决方案
添加Vary
标头应该可以解决问题,如果您可以访问支持的代码,则最好在 Varnish 中更改哈希。
但是在哪里添加呢?最好的地方是在应用程序中进行。应用程序决定提供什么服务,它应该有权决定缓存什么以及何时缓存,毕竟您将来可以用其他东西替换 nginx 或 Varnish,并且您和客户端之间可能还有其他缓存。
推荐阅读
- vba - VBA填充非空白旁边的3个空白单元格
- python - 如何通过python cgi将表形式的值保存到sqlite db中?
- c# - 如何改善 Android Unity 中 Native 插件的性能问题?
- mongodb - MongoError:在副本集中找不到主节点
- python - Python post application/x-www-form-urlencoded 问题
- javascript - 多个 $http.get 操作并将信息保存在一个 $scope 变量中
- reporting-services - SSRS 子报表空格问题
- wordpress - 没有介绍文本的 Wordpress 全文
- visual-studio-code - VS Code 按下选项卡不会自动完成标签
- c# - 取消挂钩功能目标