【问题标题】:Using CloudFront and Amazon S3, or another CDN, can I send all similar requests to one static file?使用 CloudFront 和 Amazon S3 或其他 CDN,我可以将所有类似请求发送到一个静态文件吗?
【发布时间】:2016-05-06 13:22:55
【问题描述】:

我希望以下所有请求都能到达托管在 Amazon S3 上的同一个静态文件,例如:

http://cloudfront.net/js/12345.js
http://cloudfront.net/js/54232.js
http://cloudfront.net/js/76543.js

都将指向 Amazon S3 上的单个静态文件,例如:

/js/real-file.js

那么这个真实文件中的 javascript 代码将能够使用类似以下的东西从请求中获取数字 here:

var scripts = document.getElementsByTagName('script');
var scriptName = scripts[scripts.length-1].src;

我知道这可以使用如下查询参数:

/js/real-file.js?a=12345

但我想知道没有它是否可以实现。

如果不在亚马逊上,那么可能使用不同的 CDN 服务?

【问题讨论】:

    标签: javascript amazon-web-services amazon-s3 static


    【解决方案1】:

    以下答案为我解决了这个问题:answer-35354677

    解决办法是:

    1. 确保为您的网站配置了索引路由。主要是 index.html
    2. 从 S3 配置中删除路由规则
    3. 在您的 S3 存储桶前面放置一个 Cloudfront。
    4. 为您的 Cloudfront 实例配置错误页面规则。在错误规则中指定:
      • Http 错误代码:404(和 403 或其他错误根据需要)
      • 错误缓存最小 TTL(秒):0
      • 自定义响应:是
      • 响应页面路径:/index.html
      • HTTP 响应代码:200

    【讨论】:

      猜你喜欢
      • 2012-05-12
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      相关资源
      最近更新 更多