亚马逊WAF阻止加载测验

时间:2017-09-15 17:35:44

标签: amazon-web-services iframe amazon-s3 amazon amazon-waf

我有一个测验,我已经上传到Amazon S3 Bucket并为该存储桶创建了一个云端分发版,并使用标头方法使用WAF对内容进行了限制访问,这样就没有人可以将我的东西热链接到该存储桶中。

一切正常,直到我决定将Quizzes添加到我的网站(在Weebly上托管)。所以我创建了一个完美的测验。将其上传到我的Amazon s3存储桶,启用了WAF的云端分配。我使用Iframe将测验嵌入我的网站。现在测验确实出现了,但WAF阻止了一些资源的加载。我认为cloudfront或亚马逊s3存储桶有问题。

所以我创建了另一个cloudfront发行版并将其链接到另一个亚马逊s3 bukcet,并将相同的测验上传到它并使用iframe将其嵌入到我的网站中,并且它工作得很好。

所以我得出了这个结论,即WAF导致它不能完全加载。

我在下一页中嵌入了一个带有WAF的测验和另一个没有WAF的测验

easyenglish.pk/hotlinking

第一个嵌入式测验没有WAF,工作正常。第二个测验是使用WAF,它不会加载所有资源并继续加载。

如果有人能帮助我,我将非常感激。我试过自由职业者,但那里的人不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

乍一看,你的问题是对player.js的引用被阻止(403)。 https://d1au5fut5rqs5s.cloudfront.net/quiz/data/player.js?A1AFCE49

但是,当我尝试从您的Cloudfront发行版访问任何内容时,一切都返回403。 https://d1au5fut5rqs5s.cloudfront.net

您是否仔细检查过您的Cloudfront发行版是否正常运行?

尝试从您的Cloudfront发行版中删除WAF(Web ACL),然后重试。如果仍然出现403错误,则问题在于您如何配置CloudFront分配。

对于Web ACL,请确保规则页面底部的“默认条件”设置为“允许所有与任何规则不匹配的请求”。我经常看到阻止一切的相反设置。

1)在控制台中转到AWS WAF。 2)选择Web ACL 3)选择您的Web ACL 4)在此规则列表后面靠近底部的右侧面板中,查找“默认操作”。确保它显示“允许所有与任何规则不匹配的请求”

问题: 1)工作的桶的名称是什么? 2)什么是不起作用的桶的名称? 3)这些存储桶是否设置为静态网站托管?

仔细检查S3存储桶配置。比较两个存储桶之间的存储桶策略和CORS配置。也许你有一个存储桶配置问题。