使用nginx反向代理实现缓存和gzip_static

我需要帮助设置nginx反向代理和gzip_static,以便使用gzip头请求预压缩的gzipped内容来向浏览器提供服务,其中后端不支持gzip_static

我了解nginx的vhost块,但我需要帮助的是当浏览器请求文件https://www.domain.dom/file.txt时,启用了cache和gzip_static的nginx反向代理会拉取file.txt.gz(而不是未启用gz的文件),并将其作为文件.txt提供给浏览器使用。

我能够在后端实现这一点,其中后端是在nginx上并启用了"gzip_static on",但我需要帮助的是后端没有nginx和gzip_static的情况下,在这种情况下,当浏览器头具有Content-Encoding: gzip时,我希望我的反向代理从后端拉取具有gz扩展名的gzipped文件,而不是要求后端提供文件名,同时为同一文件名进行缓存,以备将来请求。

我能想到的一个选项是在nginx块中使用curl和lua将文件拉到反向代理上并提供服务,但这不是我想要的,因为我不希望反向代理从自己的目录中本地提供静态文件,而要使用标准的缓存机制。

点赞