2016-03-06 2497 views
2

enter image description here我正在对AWS执行获取请求。通过浏览器获取桶列表(Javascript)。我收到以下错误:如何解决网络故障net :: ERR_NAME_NOT_RESOLVED

Failed to load resource: net::ERR_NAME_NOT_RESOLVED. When I leave region blank, I get following errors. please see the screen shot above for errors i m getting.

这是我的代码:

<!DOCTYPE html> 
<html> 
    <head> 

     <script src="https://sdk.amazonaws.com/js/aws-sdk-2.2.41.min.js"></script> 

    </head> 
    <body> 

     <div id="status"></div> 
     <ul id="objects"></ul> 
    </body> 

    <script type="text/javascript"> 
    AWS.config.update({accessKeyId: 'key', secretAccessKey: 'GwP/secretkey/XkoAd89kGs'}); 
     // Configure your region 
     AWS.config.region = 'US Standard'; 

     var bucket = new AWS.S3({params: {Bucket: 'rentonclick'}}); 
    bucket.listObjects(function (err, data) { 
     if (err) { 
      console.log('error',err); 
     } else { 
      document.getElementById('status').innerHTML = 
       'Loaded ' + data.Contents.length + ' items from S3'; 
      for (var i = 0; i < data.Contents.length; i++) { 
       document.getElementById('objects').innerHTML += 
        '<li>' + data.Contents[i].Key + '</li>'; 
      } 
     } 
    }); 

    </script> 

</html> 

我也分享plunker - https://plnkr.co/edit/uw9j9tpfvJ4cRqjbF7nC?p=preview

+0

请帮帮我。 –

回答

2

它看起来像你的亚马逊AWS区域无效。

请在您的Amazon AWS仪表板中查找您所在的地区。它应该看起来像这样。

AWS.config.region = 'us-east-1';

古德勒克。

+0

嗨,根据我的理解,该地区应该是为桶设置的区域。 我的水桶地区与我刚才提到的相同。 所以我认为这可能不是原因。 –

+0

嗨,我自己试过了,s3不使用区域。所以在这种情况下,我会将该区域留空('AWS.config.region ='';')在区域为空的情况下,我得到以下URL:https://rentonclick.s3.amazonaws.com/这是您的存储桶? – Mathijs

+0

是的,这是我的桶。但是在AWS文档中,他们提到要使用region来获取任何请求。这是什么意思将区域留空?非常感谢你的帮助。 :) –

1

我们需要像这样配置CORS - 这对我有用。

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

当我使用VUE Axio上,如:

var config = { 
    site: 'http://192.168.0.71:9000/doapi/', 
} 
export const API_ROOT = 'http://'.concat(config.site) 
did you find something wrong: API_ROOT = 'http://'+ 'http://192.168.0.71:9000/doapi/'; 

的 'http://' 已经宣布的两倍。删除它。好的