使用 nginx 从 cloudfront CDN 提供静态文件

Serve static files from cloudfront CDN with nginx

我已经为我的网站设置了一个带有亚马逊云端的 CDN。我现在在我的 cdn 上有文件,与我网站上的文件夹位置相同。

我尝试使用插件为我的网站设置 cdn,但它没有按预期工作。

所以现在我正在尝试设置 nginx 来为来自我的 CDN(外部 URL)的文件提供服务。我看过几篇关于此的帖子,但其中 none 对我有用。

这是我目前所做的

location ~* \.(gif|png|jpg|svg|woff|js|css)$ {

             rewrite ^ https://mycdnurl.net$request_uri permanent;
             proxy_pass https://mycdnurl.net;

       }

两者均无效。

简单地帮助

https://mywesite.com/images/abcd.jpg should become https://mycdnurl.net/images/abcd.jpg

并且文件的路径可以是任何内容并且不是固定的。

任何帮助都大大提前appreciated.Thanks

第二块我没看懂。第一个块包含两个相互冲突的指令。如果你想重定向到你的 CDN,你应该使用:

location ~* \.(gif|png|jpg|svg|woff|js|css)$ {
    return 301 https://mycdnurl.net$request_uri;
}

这只是您的 rewrite ^ https://mycdnurl.net$request_uri permanent; 声明的简化版本。有关更多信息,请参阅 this document

如果这不起作用,您需要使用问题的更多详细信息更新您的问题。

感谢 Michael 指出上述方案仅在 CloudFront 未使用此服务器和相同 URI 获取其权威副本时才有效。