Amazon ec2 Cloudfront、EC2和相关URL

Amazon ec2 Cloudfront、EC2和相关URL,amazon-ec2,amazon-cloudfront,relative-url,Amazon Ec2,Amazon Cloudfront,Relative Url,这可能是一个简单的问题,但我在任何地方都找不到直接的答案 我的网站托管在亚马逊EC2上 我想利用AmazonCloudFront来加速在我的站点上加载图像、Javascript和CSS 在我的整个站点中,我使用了相对URL来指向驻留在EC2服务器上的图像、Javascript和CSS 那么,现在,为了利用Cloudfront,我是否需要将所有相对URL更改为指向Cloudfront的绝对URL,或者这将由Amazon/EC2/Cloudfront自动处理?或者,一个更好的提问方式是,我是否可以将

这可能是一个简单的问题,但我在任何地方都找不到直接的答案

我的网站托管在亚马逊EC2上

我想利用AmazonCloudFront来加速在我的站点上加载图像、Javascript和CSS

在我的整个站点中,我使用了相对URL来指向驻留在EC2服务器上的图像、Javascript和CSS


那么,现在,为了利用Cloudfront,我是否需要将所有相对URL更改为指向Cloudfront的绝对URL,或者这将由Amazon/EC2/Cloudfront自动处理?或者,一个更好的提问方式是,我是否可以将所有URL保留为相对URL,并且仍然可以获得Cloudfront的所有优势?

如果您希望一切保持原样,您可以通过Cloudfront将您的站点设置为自定义源站。如果你的网站大多是静态的,这可以很好地工作


如果您确实希望利用cloudfront而不通过发送所有内容,则需要将相对URL更新为绝对URL。只要CSS文件是通过cloudfront提供的,CSS文件就可以保留相对url。

简短的回答是否,您的相对url在cloudfront上不会像预期的那样工作-除非您的页面加载CSS文件,CSS文件内的任何相对url都将解析为cloudfront,但这在你的情况下可能不是很有用

对于使用SASS的解决方案,它与我过去所做的非常接近:

  • 我用了SASS-
  • 我有一个名为cdn.scss的mixin,其内容类似于$image_path:“/images/”
  • 以sass样式@Import“cdn.scss”导入该混音
  • 更新图像路径如下:背景:url($image_path+“image.png”)
  • 在部署时,我更改mixin.scss中的$image_path变量,然后重新运行sass
基本上,通过创建一个所有页面都尊重的变量,重新生成CSS以使用CDN(CloudFront)基本url。执行此操作的难度取决于需要更改的引用和文件的数量,但简单地搜索和替换相对路径非常容易

祝你好运