Amazon AWS Webserver跨源请求

时间:2018-05-01 15:35:30

标签: javascript xmlhttprequest serverxmlhttp

我目前正在尝试使用node.js和mongoDB在AWS EC2上建立一个网站。到目前为止,我可以毫无问题地启动节点服务器和mongod服务。网络ACL也配置为允许从我的PC访问,我可以使用chrome或firefox轻松访问它。但是我的一些get请求没有得到解答,我在Chrome控制台上收到此错误消息:

无法加载ec2-54-173-21-43.compute-1.amazonaws.com:3001:交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https。

我查看了SO,发现有人提到配置AWS S3存储桶以允许跨源资源共享。我按照这个链接: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html

到目前为止,使用链接作为指南并使用指南中的XML代码 https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html

没有成果,我仍然得到那个错误。有人能指出我正确的方向吗?我以前用于XML文档的示例XML代码在这里:

<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://www.example1.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>http://www.example2.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>

1 个答案:

答案 0 :(得分:0)

  

无法加载ec2-54-173-21-43.compute-1.amazonaws.com:3001:交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https。

这意味着您没有发出HTTP请求。

可以合理地推断,当您在客户端JavaScript中编写URL时,您从前面省略了该方案(例如https://)。

因此,您正在尝试向本地文件系统发出请求(因为您正在加载托管JavaScript的HTML文档)。

您的AWS服务的CORS配置与此特定问题无关,因为您的代码并未尝试联系该服务。