S3网站的内容与多个AngularJS网站重叠

时间:2016-07-02 07:34:14

标签: angularjs amazon-s3

我们已经在S3上部署了几个AngularJS网站。这些网站通常只有在谷歌Chrome的Cntrl + F5之后才能正常运行。现在我们面临的主要问题是 -

将另一个不同网站的内容显示为当前不期望的网站内容。

在这里,我们在S3中部署了qa.example.net以及prod.example.net。两者分别调用完全不同的API,但我们仍然可以看到许多意外的行为。如 -

在qa.example.net登录后,我们可以看到prod.example.net的真实数据。 做Cntrl + F5后,最初解决了。所以,我们认为这是本地缓存问题但是 即使在这样做之后的一天,问题仍然存在。 要摆脱这种情况,我们需要在隐身模式下从Chrome执行多次Cntrl + F5。

广告投放管理配置

  • 启用静态主机→是。
  • 索引文档→index.html
  • 错误文档→404.html
  • Grantee→s3user

qa.example.net

的S3 Bucket Policy conf
{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "AddPerm",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::qa.example.net/*"
    }
]}

prod.example.net的S3 Bucket Policy conf

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "AddPerm",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::prod.example.net/*"
    }
]}

两个存储桶的S3 CORS配置

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <MaxAgeSeconds>1</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

1 个答案:

答案 0 :(得分:0)

域级存储桶也会发生这种情况吗? 您是否看到say.com和example1.com之间的重叠?