我在使用AWS S3和AWS Cloud前端服务部署静态网站时遇到两个问题。发生的第一个问题是,当我查找http://.point.plumbing时,我没有看到我对index.html
页面所做的更改。但是,如果我访问我的存储桶并访问对象:index.html 并单击链接,您将看到所需的更改生效https://s3-us-west-2.amazonaws.com/point.plumbing/index.html
我遇到的第二个问题是我似乎收到此错误Failed to load resource: the server responded with a status of 403 (Forbidden) http://www.point.plumbing/fontkit/avenir_55_oblique-webfont.woff2
错误告诉我服务器 cant 加载我想要的一些字体{{ 3}}
在服务页面上,如果您点击图标,您会看到我没有加载字体avenirmedium, sans-serif
。
我花了很多时间来解决这些问题,而我最接近解决方案就是使用此链接。 http://.point.plumbing
我之所以遇到错误并且没有看到http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ReplacingObjectsSameName.html上的所需更改,是因为我的对象缓存未刷新24小时?
非常感谢任何帮助。
答案 0 :(得分:1)
首先,我注意到你说你的端点是https://s3-us-west-2.amazonaws.com/point.plumbing
。检查控制台,您的Web端点实际上是point.plumbing.s3-website-us-west-2.amazonaws.com
(我假设point.plumbing是有效的顶级域名。)
如果我理解正确,您说当您通过CloudFront查看HTML时,您没有看到HTML的更改。这是因为CloudFront会缓存您的文件 - by default for 24 hours。要查看更新,您需要通过对象元数据中的HTTP标头指定更短的TTL,或向Invalidate the objects发出API命令。这需要10到15分钟才能传播,并且会在每月前1000个物品之后开始花钱。
关于字体,我不确定,但听起来可能是权限问题。确保该对象具有public-read
的权限或对存储桶设置公共get-object
权限。