使用 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 获取其权威副本时才有效。
我已经为我的网站设置了一个带有亚马逊云端的 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 获取其权威副本时才有效。