Nginx:利用浏览器缓存远程资源(图像)

Nginx:利用浏览器缓存远程资源(图像)

我的一个网站中有一些图片托管在远程服务器上。我还没有弄清楚如何设置Cache-Control为远程源。对于本地文件,我使用:

location ~* \.(jpg|jpe?g|gif|png|ico|cur|gz|svgz|mp4|ogg|ogv|webm|htc|css|js|otf|eot|svg|ttf|woff|woff2)(\?ver=[0-9.]+)?$ {
    expires 1M;
    add_header Access-Control-Allow-Origin '*';
    add_header Pragma public;
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    access_log off;
    }

效果非常好。

我尝试添加一个位置块,其中包含文件的远程位置,遵循与本地文件相同的原理,例如https://example.com/img/但 nginx 什么也没做。这一切的目的都是为了提高网站速度。

任何建议都将受到赞赏。

答案1

您无法通过更改服务器上的任何内容来更改远程资源的标头。 您需要在提供文件的服务器上进行更改。

我能想到的实现此目的的唯一方法是通过服务器上的专用路径代理图像,但这需要更改 HTML 以指向该路径。

相关内容