因此,我目前在www.movez.co域下的DNS中使用cloudflare,但是由于某些原因,当有人直接在其浏览器中输入http://movez.co时,它会吐出这个错误:
找不到404
代码:NoSuchBucket 消息:指定的存储桶不存在
BucketName:movez.co
RequestId:64038C65xxx
HostId:xxx
当然,我们被推销的名称为“ www.movez.co”,我们的根记录指向正确的存储桶(www.movez.co.s3-website-us-east-1.amazonaws.com)和我们的www CNAME记录指向根作为别名。该存储桶可公开访问,但是由于某些原因,特定的iPhone用户被置于404页。谁能帮我弄清楚为什么会这样吗?我已经尝试清除缓存,但是我们的注册商(GoDaddy)没有重定向重定向记录。
答案 0 :(得分:0)
这里的问题是CNAME在DNS级别而不是HTTP级别上运行。 CNAME将使请求转发到www.movez.co.s3-website-us-east-1.amazonaws.com
的IP地址,但是HTTP请求仍会说它正在寻找moves.co
。 HTTP请求在请求中的任何地方均不包含www.movez.co.s3-website-us-east-1.amazonaws.com
或www.moves.co
,因此Amazon无法知道应该从存储桶中为www.movez.co
提供该请求。
我建议设置一个页面规则中的CloudFlare从重定向客户端的浏览器movez.co
到www.movez.co
。如果您不想使用浏览器重定向,则可能需要配置Amazon以了解movez.co
(也许通过创建一个单独的存储桶),或者可以使用Cloudflare Worker重写HTTP。请求(但你需要额外支付的CloudFlare为)。