热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在头文件中显示nginx缓存文件的年龄-Howtodisplaytheageofannginxcachedfileinheaders

Ivesetupacachingserverforasitethroughnginx1.6.3onCentOS7,anditsconfiguredtoadd

I've set up a caching server for a site through nginx 1.6.3 on CentOS 7, and it's configured to add http headers to served files to show if said files came from the caching server (HIT, MISS, or BYPASS) like so:

我在CentOS 7上通过nginx 1.6.3为一个站点设置了一个缓存服务器,它被配置为向服务文件添加http头,以显示所述文件是否来自缓存服务器(HIT、MISS或BYPASS),如下所示:

add_header X-Cached $upstream_cache_status;

However, i'd like to see if there's a way to add a header to display the age of the cached file, as my solution has proxy_cache_valid 200 60m; set, and i'd like to check that it's respecting that setting.

但是,我想看看是否有一种方法可以添加标题来显示缓存文件的年龄,因为我的解决方案是proxy_cache_valid 20060m;集合,我想检查它是否与那个集合有关。

So what i'm looking for would be something like:

所以我要找的是:

add_header Cache-Age $upstream_cache_age;

I'm unable to find anything of the sort though, can you help?

我找不到这种东西,你能帮忙吗?

Thanks

谢谢

2 个解决方案

#1


2  

The nginx documentation is quite exhaustive — there's no variable with the direct relative age of the cached file.

nginx文档非常详尽——没有任何变量与缓存文件的直接相对年龄有关。

The best way would be to use the $upstream_http_ variable class to get the absolute age of the resource by picking up its Date header through $upsteam_http_date.

最好的方法是使用$upstream_http_变量类,通过$upsteam_http_date获取其日期头,从而获得资源的绝对年龄。

add_header X-Cache-Date $upstream_http_date;

For the semantic meaning of the Date header field in HTTP/1.1, refer to rfc7231#section-7.1.1.2, which describes it as the time of the HTTP response generation, so, basically, this should accomplish exactly what you want (especially if the backend runs with the same timecounter).

对于HTTP/1.1中的日期头字段的语义含义,请参考rfc7231# section7.1.1.2,它将它描述为HTTP响应生成的时间,因此,基本上,这应该完全实现您想要的(特别是如果后端运行时使用相同的timecounter)。

#2


0  

I spent some time attempting to solve this with the Nginx Perl module, which does not seem to have access to $upstream_http_NAME headers that would allow you to successfully calculate the current time from a timestamp header that your proxied application created during render time.

我花了一些时间尝试使用Nginx Perl模块来解决这个问题,该模块似乎无法访问$upstream_http_NAME头文件,这些头文件可以让您成功地从您的经过代理的应用程序在呈现期间创建的时间戳头中计算当前时间。

Alternatively, you could use a different caching layer architecture like Varnish Cache, which does indeed provide the Age HTTP response header:

或者,您可以使用不同的缓存层架构,如Varnish缓存,它确实提供了Age HTTP响应头:

http://book.varnish-software.com/3.0/HTTP.html#age

http://book.varnish-software.com/3.0/HTTP.html年龄


推荐阅读
  • Google排名优化-面向Google(Search Engine Friendly)的URL设计 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 2017-2018年度《网络编程与安全》第五次实验报告
    本报告详细记录了2017-2018学年《网络编程与安全》课程第五次实验的具体内容、实验过程、遇到的问题及解决方案。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文介绍了一个SQL Server自定义函数,用于从字符串中提取仅包含数字和小数点的子串。该函数通过循环删除非数字字符来实现,并附带创建测试表、存储过程以演示其应用。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 使用Nginx反向代理实现多域名端口映射
    本文介绍如何通过配置本地hosts文件和Nginx反向代理,实现多个虚拟域名的端口映射,使用户可以通过标准HTTP端口80访问不同后端服务。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
author-avatar
和你在一起1979
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有