0

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

无法加载 ec2-54-173-21-43.compute-1.amazonaws.com:3001:跨源请求仅支持协议方案:http、data、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>
4

1 回答 1

1

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

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

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

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

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

于 2018-05-01T16:16:22.563 回答