由于违反了内容安全策略指令'connect-src'

时间:2017-01-17 22:05:31

标签: angularjs cordova content-security-policy

在cordova应用程序中发出角度$ http发布请求时,我收到错误消息 '拒绝连接到'https://localhost:3000/verifyPerson',因为它违反了以下内容安全政策指令:“connect-src https://localhost:3000/ *”'

以下是控制器中的发布请求

$http.post("https://localhost:3000/verifyPerson" ).then(
    function(response){
        console.log('http success response handler');
    },
    function(response){
        console.log('http error response handler  ' +response.status);  
    }
);

以下是我的节点服务器中为内容安全策略和访问控制设置的响应标头:

app.use(function(req, res, next){
    res.header("Content-Security-Policy", 
 "default-src 'self';
  script-src 'self';
  object-src 'none';
  img-src 'self';
  media-src 'self';
  frame-src 'none';
  font-src 'self' data:;
  connect-src 'self' https://localhost:3000/*;
  style-src 'self'");
  next();
});

app.all('*', function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
    res.header('Access-Control-Allow-Headers', 'Content-Type');
    next();
});

以下是cordova应用程序的config.xml文件中的访问源和允许导航标记。

 <access origin="http://localhost:3000/*" subdomains="true" /> 
 <allow-navigation href="http://localhost:3000/*" />

以下是相关html页面中内容安全策略的元标记。

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;connect-src https://localhost:3000/*;">  

你能告诉我这篇帖子请求要成功完成的遗漏吗?

0 个答案:

没有答案