我有一个 goDaddy 网站,其中设置了 CNAME 记录来查看我的 S3 帐户中的特定存储桶。它运行良好,可以毫无问题地加载文件。
我有一台 SliceHost 服务器,该服务器的 CNAME 记录(“静态”)设置与 goDaddy 上的完全相同(域名已适当更改)。但是,当我尝试访问子域上的文件时,出现“未找到服务器”错误。如果我尝试直接访问存储桶文件,则一切正常。
dig 和 nslookup 显示该子域名最终确实指向亚马逊。
dig 的 ANSWER 部分如下所示:
static.imdoingscience.com. 2201 IN CNAME static.imdoingscience.com.s3.amazonaws.com.
static.imdoingscience.com.s3.amazonaws.com. 60 IN CNAME s3-directional-w.amazonaws.com.
s3-directional-w.amazonaws.com. 39 IN CNAME s3-1-w.amazonaws.com.
s3-1-w.amazonaws.com. 59 IN A 72.21.207.241
我不知道这是否重要,但不工作的实例是运行 nginx 的 Ubuntu Hardy LTS。我认为不应该,因为 CNAME 记录似乎是名称服务器级别的重定向(我才刚刚开始研究这个东西)。
答案1
我没有收到“未找到服务器”的错误,而是收到了 S3 错误:
<Error>
<Code>NoSuchBucket</Code>
<Message>The specified bucket does not exist</Message>
<BucketName>static.imdoingscience.com.</BucketName>
<RequestId>F227137BF1862E64</RequestId>
<HostId>
ENl2Yp/hp++mXtTF9Zze5VX/+KN/zaYV+KeToMikX9JK/3oTK/k38URYisLmP2uF
</HostId>
</Error>
在我看来你需要和亚马逊谈谈。