启用来自retina.js Nginx的跨源脚本从另一个URL加载文件?

我运行一个视网膜图像插件与W3cachingCDN支持。 W3caching将图像移动到S3,但由于URL的不同,JS文件将不会从那里服务器的文件(它从htp://mysite.com到htp://assets.mysite.com)

我发现一个post,说这只是把这个添加到你的.htaccess

# ---------------------------------------------------------------------- # CORS-enabled images (@crossorigin) # ---------------------------------------------------------------------- # Send CORS headers if browsers request them; enabled by default for images. # developer.mozilla.org/en/CORS_Enabled_Image # blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html # hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/ # wiki.mozilla.org/Security/Reviews/crossoriginAttribute <IfModule mod_setenvif.c> <IfModule mod_headers.c> # mod_headers, yu no match by Content-Type?! <FilesMatch "\.(gif|png|jpe?g|svg|svgz|ico|webp)$"> SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> </IfModule> </IfModule> 

然后JS将能够从S3加载图像 – 但我不知道如何在Nginx上做到这一点。 有人能给我一个简单的例子吗?

原来的这个post的forms是 – http://wordpress.org/support/topic/doesnt-work-with-cdn-w3-total-cache?replies=4

看看这个要点 。 您将需要为您的域和caching首选项稍微调整一下。

您需要在S3存储桶中启用CORS规则, http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors

简单的规则,必须为你工作是:

 <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>