我目前正在尝试使用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>
答案 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配置与此特定问题无关,因为您的代码并未尝试联系该服务。