我有一个网站,我希望www-prefixed版本重定向到裸露的域名。最好的方法来处理与www重定向到裸露域名的Cloudfront/S3网站
寻找不同的解决方案之后,我发现这个封闭这个答案在这里的话题,似乎工作的伟大:https://stackoverflow.com/a/42869783/8406990
不过,我在那里,如果我在更新根对象“指数/ HTML”的问题我S3存储桶,Cloudfront可能需要一天时间才能提供新版本。我甚至手动使文件无效,并且正确地更新了“index.html”文件,但Cloudfront仍旧服务于旧文件。
为了更好地解释,如果我输入:http://mywebsite.com/index.html,它将为新版本提供服务。但是,如果我输入http://mywebsite.com/,它将服务于旧的index.html。
我继续在我的Cloudfront发行版的默认根对象属性(针对裸露域)中添加“index.html”,并立即按照我的意愿工作。只在域中输入(不添加/index.html)即可返回新版本。
但是,这与我刚刚链接的线程中的答案形成鲜明对比,在使用两个分发执行重定向时,它明确指出不设置“默认根对象”。我希望能更好地理解这个“Default Root Object”,以及是否有更好的方法来确保根对象正确地更新缓存版本?
谢谢。
感谢您的回复。我其实确实犯了一个错字。在我的Cloudfront设置中,我放入了“index.html”,没有结尾的斜杠。我仍然想知道为什么我的失效行不通。尽管在index.html上做了失效,但我仍然无法在12小时后加载新的index.html文件。除非我明确地将index.html输入到url中。太奇怪了,放入默认的根对象实际上解决了我的问题。 – oneleaf
@oneleaf哦,我看到了问题,然后......你需要使'/'无效,而不是'/ index.html'(当发送失效时,如果没有包含,控制台默默地添加一个前导斜杠,这样将与无效的index.html一样)。失效与浏览器请求的内容不符,而不是实际提供的内容,如果它们不同。 –
非常感谢!这工作。我刚刚删除了我的发行版上的默认根对象设置。做了更新。在/创建了一个失效,它立即反映了变化。很高兴得到这个谜题整理出来! – oneleaf