【问题标题】:Where to add CORS headers in AWS EC2在 AWS EC2 中添加 CORS 标头的位置
【发布时间】:2017-02-11 15:45:16
【问题描述】:

我正在从浏览器向我的 EC2 AWS 服务器发出 POST 请求,但返回以下错误。

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.example.com' is therefore not allowed access. The response had HTTP status code 401.

我已经做了一些研究并发布了我需要在我的 EC2 AWS 服务器上启用 CORS - 我知道我应该添加一些类似的东西

<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>

来自 AWS 文档:AWS EC2 CORS

但是我也不确定我实际上需要在哪里添加它。我的 AWS 服务器知识有限。

这是一个 Neo4j 数据库,调用是:

getRequest = function () {
    $.ajax({
        url: 'http://exampleEC2:port/',
        type: 'POST',
        dataType: 'JSON',
        contentType: 'application/json;charset=UTF-8',
        password: 'xxxxxx',
        username: 'xxxx',
        data: dataObject,
        success: function (data) {
            console.log("success");
        },
        error: function(error) {
            console.log(error);
        }
    });
};

【问题讨论】:

    标签: amazon-web-services amazon-ec2 cors request-headers response-headers


    【解决方案1】:

    您可以将 CORS 条件添加到服务器本身上的 EC2 实例。假设这是一个 Apache EC2 实例,您可以编辑 .htaccess 文件以允许任何域或一个特定域:

    Header set Access-Control-Allow-Origin "*"
    

    Header set Access-Control-Allow-Origin "yourexternaldomain.tld"
    

    如果我没记错的话,CORS 只能关联一个域。

    我确实发现有人在 .htaccess 文件中提出了条件声明,以便允许几个不同的特定域访问:

    Stackoverflow: Access-Control-Allow-Origin Multiple Origin Domains?

    【讨论】:

      【解决方案2】:

      我花了几个小时来解决这个问题。试过.htaccess。试过.conf。玩弄防火墙。

      最后是一行php:

      header('Access-Control-Allow-Origin: *');

      【讨论】:

        猜你喜欢
        • 2020-06-19
        • 2017-05-23
        • 1970-01-01
        • 2015-11-01
        • 2019-12-20
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        • 2018-08-15
        相关资源
        最近更新 更多