我为我的网站设置了亚马逊cloudfront的CDN。我现在在我的cdn上有文件,我的网站上有相同的文件夹位置。
我尝试使用插件为我的网站设置cdn,但它没有按预期工作。
所以现在我正在尝试设置nginx来处理来自我的CDN(外部URL)的文件。我已经看过几个帖子,但没有一个对我有用。
这是我到目前为止所做的事情
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应该成为https://mycdnurl.net/images/abcd.jpg
并且文件的路径可以是任何东西,并且不是常量。
非常感谢任何帮助。谢谢提前
答案 0 :(得分:1)
我不明白第二个街区。第一个块包含两个冲突的指令。如果要重定向到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获取其权威副本时才有效。