如何创建' Access-Control-Allow-Origin#39;在Elastic Beanstalk上部署的Express服务器上的标头?

时间:2014-11-23 00:32:22

标签: express elastic-beanstalk

我将Express服务器部署到Elastic Beanstalk但我无法通过它来访问外部域名!我觉得我已经尝试了很多应该有用的东西。如果我错过了什么,请看看并告诉我。提前谢谢!

  1. 在快速配置中添加标题

    var app = express();

    app.use(function(req,res,next){

    // Website you wish to allow to connect
    res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8100');
    
    // Request methods you wish to allow
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    
    // Request headers you wish to allow
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
    
    // Set to true if you need the website to include cookies in the requests sent
    // to the API (e.g. in case you use sessions)
    res.setHeader('Access-Control-Allow-Credentials', true);
    
    // Pass to next layer of middleware
    next();
    

    });

  2. 使用npm模块cors

    var app = express();

    app.use(CORS());

  3. 更改了S3上的cors配置 <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration>

1 个答案:

答案 0 :(得分:4)

想出来。这是愚蠢的

我的代码出错,我看不到因为它在EB上。我没有检查AWS上的日志。最后,我在本地部署了服务器,并在两个不同的端口上运行我的应用程序和服务器。然后我在控制台中看到了错误。

由于某些原因,由于我的代码中的错误,我得到了访问控制允许来源错误。不确定原因。但是如果你得到它,并且你认为你已经处理了所有CORS的东西,那么你的代码中可能会出现错误。

祝你好运!