Css CloudFront、S3和Apache的CORS配置问题
我有一个tomcat web应用程序,它使用CloudFront、Apache和S3进行静态内容交付。静态内容使用版本化的文件夹结构,允许零停机升级:Css CloudFront、S3和Apache的CORS配置问题,css,apache,amazon-ec2,amazon-s3,amazon-cloudfront,Css,Apache,Amazon Ec2,Amazon S3,Amazon Cloudfront,我有一个tomcat web应用程序,它使用CloudFront、Apache和S3进行静态内容交付。静态内容使用版本化的文件夹结构,允许零停机升级: V1 css images javascript fonts V2 css images javascript fonts etc 对于除css文件以外的所有文件,这些文件直接从应用程序引用到CDN。但是,支持现有的企业web应用程序是必要的,因此不能更改现有的/图像和/字体引用
V1
css
images
javascript
fonts
V2
css
images
javascript
fonts
etc
对于除css文件以外的所有文件,这些文件直接从应用程序引用到CDN。但是,支持现有的企业web应用程序是必要的,因此不能更改现有的/图像和/字体引用
为了解决这个问题,我在ApacheEC2上设置了一个自定义源,作为S3 bucket的反向代理。它使用css文件中的referer头将图像引用指向正确的目录
这很好,除了firefox报告EC2上发生CORS冲突的字体。这对我来说没有任何意义,因为所有内容都托管在S3上
尽管如此,我在S3 bucket中设置了CORS配置,在apache中设置了一个用于Access-Allow-Control-Origin的头,CloudFront传递了Origin头。css文件可以很好地提供,没有违反CORS的情况,但是不会提供字体。Apache中是否有我缺少的配置,或者是其他配置?如果能得到任何帮助,我将不胜感激
感谢2014年6月26日AWS在CloudFront中添加了对CORS的支持,您正在使用此支持吗 此答案提供了有关为特定发行版启用it的信息: 如果未启用此功能,那么我的猜测是CloudFront缓存了一个响应,而没有Access Allow Control Origin标头,并且不管请求中发送的是哪个源,都会为该响应提供服务