如何在 Elastic Beanstalk 上部署的 Express 服务器上创建“Access-Control-Allow-Origin”标头?
Posted
技术标签:
【中文标题】如何在 Elastic Beanstalk 上部署的 Express 服务器上创建“Access-Control-Allow-Origin”标头?【英文标题】:How to create 'Access-Control-Allow-Origin' header on Express server deployed on Elastic Beanstalk? 【发布时间】:2015-01-20 22:41:40 【问题描述】:我在 Elastic Beanstalk 上部署了一个 Express 服务器,但我无法让它访问外部域!我觉得我已经尝试了许多应该有效的方法。请看一下,让我知道我是否遗漏了什么。提前致谢!
在快速配置中添加标题
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();
);
使用 npm 模块 cors
var app = express();
app.use(cors());
更改了 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】:想通了。这很愚蠢
我的代码中有一个错误,我看不到它,因为它在 EB 上。而且我没有检查 AWS 上的日志。最后,我在本地部署了服务器,并在两个不同的端口上运行了我的应用程序和服务器。然后我在控制台中看到了错误。
由于某种原因,由于我的代码中的错误,我收到了 Access Control Allow Origin 错误。不确定原因。但是,如果你得到它,并且你认为你已经处理了所有的 CORS 东西,那么你的代码中可能有一个错误你丢失了。
祝你好运!
【讨论】:
以上是关于如何在 Elastic Beanstalk 上部署的 Express 服务器上创建“Access-Control-Allow-Origin”标头?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 aws cli 在 Elastic Beanstalk 上上传和部署?
如何在 AWS Elastic Beanstalk 上部署 django 频道 2.x?
在 Elastic Beanstalk 上部署时出错 - Rails
如何在部署应用程序 Elastic beanstalk 上修改 NGINX 配置