首页 > 解决方案 > Varnish Cache 中的 Web root 选项,类似于 nginx 中的 `root`

问题描述

在 nginx 中,我们可以root选择从特定目录提供文件,例如:root /var/www/data/在 nginx conf 中,如果我的 url 是https://mydom.com/$file_name,nginx 将查找存在/var/www/data/$file_name的文件,如果存在则返回文件,否则返回 404 .

现在,我想要 Varnish 中类似的选项。有没有办法可以从特定目录提供文件?如何告诉 varnish 在特定目录中查找文件并返回该文件?

标签: nginxcachingstaticvarnishnginx-reverse-proxy

解决方案


Varnish 是一个缓存,而不是一个网络服务器。Varnish 不会从磁盘上的文档根目录提供页面,但它会缓存来自预定义后端服务器的响应。

虽然 Varnish 和 Nginx 有一些相似之处,并且涵盖了一些相同的用例,但它们是完全不同的产品。

但是,如果您使用 Nginx 作为反向代理,而不是网络服务器,它也不会使用该root选项。

有一种方法可以让 Varnish 像网络服务器一样工作,那就是利用Varnish Enterprise 中的文件模块。这允许 Varnish 从磁盘提供文件,但这在 Varnish 的开源版本中不可用,仅在商业版本中可用。


推荐阅读