我在同一台服务器上的端口 80 上有 nginx,端口 8080 上有 apache。
我已经使用本教程将 nginx 配置为充当反向代理(我不确定它是否有效)ttp://tumblr.intranation.com/post/766288369/using-nginx-reverse-proxy。
我遵循的步骤来验证代理。
- 在5秒的间隔内,在两台不同的机器上打开同一个页面。
但在 apache access.log 中每个请求都显示200 响应代码这是否表明缓存不起作用?
并且 nginx access.log 没有显示任何内容。
答案1
您所参考的教程与 nginx 缓存无关。因此,如果您的配置与教程中的配置相似,则 nginx 缓存肯定不起作用。
但一般来说,nginx 有特殊的变量:
$upstream_cache_status — 保存访问响应缓存的状态(0.8.3)。状态可以是“MISS”、“BYPASS”、“EXPIRED”、“STALE”、“UPDATING”或“HIT”。
http://nginx.org/en/docs/http/ngx_http_upstream_module.html#variables
你可以用这个变量做任何你想做的事情(例如将其记录到访问日志中, 或者将其与响应标头一起返回)。