快递 CORS 不工作

Posted

技术标签:

【中文标题】快递 CORS 不工作【英文标题】:Express CORS not working 【发布时间】:2017-09-19 04:19:00 【问题描述】:

我刚开始我的 nodejs express 模板购买 cors 不起作用。

我使用 npm install cors --save

这是文件:

var express = require('express');
var cors = require('cors');
var app = express();

app.use(cors());

var corsOptions = 
  origin: 'https://example.com/',
  optionsSuccessStatus: 200
;

app.get('/', cors(corsOptions), function(req, res, next) 
    res.json( message: 'hooray! welcome to our api!' );
);

app.get('/tt', function(req, res, next) 
    res.json( message: 'hooray! welcome to our api!' );
);

var port = process.env.PORT || 3030;
app.listen(port);
console.log('Magic happens on port ' + port);

现在使用上面的代码,当我访问 localhost:3030/tt 或 / 时,我仍然可以看到内容,我不应该

这有什么问题..我刚刚为此浪费了 2 个小时的时间.. :( 目前我不想使用 CORS,但在不久的将来当我的应用完成时,我想只允许来自我的项目的传入调用,因为这个应用将是我的 API。

【问题讨论】:

【参考方案1】:

您所描述的行为似乎是我所期望的。

CORS 不会帮助您过滤服务器上的来电。在这种情况下,浏览器的 CORS 检查不会启动,因为您似乎是直接在浏览器中输入 URL。仅当从特定域加载的网页尝试访问/提交到不同域中的 URL 时,浏览器才会执行 CORS 检查。

看待 CORS 的另一种方式。 CORS 旨在保护浏览器前的用户,而不是正在访问的服务器代码。

【讨论】:

感谢您的回复。最好将我的 apiserver.com 原型化为仅允许来自 mywebpage.com 的访问? API 用户身份验证和令牌将帮助您只允许您使用 API

以上是关于快递 CORS 不工作的主要内容,如果未能解决你的问题,请参考以下文章

无法在我的快递应用中解决 CORS 政策

我收到 CORS 错误 - cors() 不工作

CORS 不工作

Nodejs 快递,Heroku CORS

烧瓶 Cors 不工作

具有 REST 身份验证 API 的节点快递网站 - CORS 问题