AWS中的内容安全策略

时间:2017-08-04 07:52:52

标签: javascript node.js amazon-web-services

我面临着一个我无法弄清楚的奇怪错误。尝试将小项目部署到AWS Elastic Beanstalk实例时,我收到了许多CSP错误。它似乎在抱怨执行内联脚本,即使我的项目不包含javascript,除了一个小的Node.js后端来处理一些路由。我得到的错误是:

Refused to execute inline script because it violates the following 
Content Security Policy directive: "script-src 
https://d2aafqm3hbgbf6.cloudfront.net 
https://d2q66yyjeovezo.cloudfront.net 
https://d1idiovbex4hy4.cloudfront.net 
https://d3e2aud6m9sl41.cloudfront.net https://phd.aws.amazon.com 
https://resources.console.aws.amazon.com https://signin.aws.amazon.com 
*.signin.aws.amazon.com https://d36cz9buwru1tt.cloudfront.net 
https://media.amazonwebservices.com 'self'". Either the 'unsafe-inline' 
keyword, a hash ('sha256-
WkLxG82JrIV0IxhYdEMt3pgYi6ZRYB9ZAj35iFKh8N8='), or a nonce 
('nonce-...') is required to enable inline execution.

我尝试在Node.js后端及其提供的HTML文件中为我的所有请求添加CSP标头。

app.use(function(req, res, next){
   res.header("Content-Security-Policy", "default-src * 'unsafe-inline' 
   'unsafe-eval' data: blob:;");
   next();
})

元标记:

<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;">

有人可以帮我弄清楚我哪里出错吗?

由于

1 个答案:

答案 0 :(得分:0)

我希望它可以帮到你。

我在Beanstalk上遇到了与Laravel相同的错误,这是因为我的php应用程序内部错误,而不是“内容安全策略”。

因此,您的应用中显示该页面的任何错误都可能产生错误。您可以在EC2的“/ var / log / containers / YourContainerName”中查看日志文件并解决问题。对我来说,这只是“laravel storage folder”的错误许可。

此外,在亚马逊上存在类似的问题,如果你进行负载平衡可能会有所帮助。 https://forums.aws.amazon.com/thread.jspa?messageID=783941