如何通过在 angular 全栈生成器中使用 cors 使我的 API 私有化?

How to make my API Private by using cors in angular fullstack generator?

我正在为我的网络应用程序使用 angular 全栈生成器,我想将我的 api 设为私有,这意味着响应应该仅从我的域提供。如果 api 从不同的域使用它不应该提供响应。

为此,我使用了以下 npm 包 https://www.npmjs.com/package/cors

我在我的项目中添加了以下代码。

'use strict';

var express = require('express');
var cors = require('cors');
var router = express.Router();
var app = express();

var corsOptions = {
  origin: 'http://example.com'
};

router.get('/', cors(corsOptions), function(req, res, next) {
  res.json({
    msg: 'This is CORS-enabled for only homefuly.com.'
  });
});

module.exports = router;

以上代码放在我的服务器->api->test->index.js

当我点击 api http://localhost:9000/api/test 时,我能够看到 response.I 只有在我从 example.com 发出请求时才会得到响应,否则它会抛出错误消息,请帮助实现这一目标。

提前致谢。

I want to make my api a private one

Express 可以根据 IP 地址限制连接:

var express = require('express')
    , ipfilter = require('express-ipfilter').IpFilter
    , app = express.createServer()
    ;

// Whitelist the following IPs
var ips = ['127.0.0.1'];

// Create the server
app.use(ipfilter(ips, {mode: 'allow'}));
app.listen(3000);

有关详细信息,请参阅 NPM express-ipfilter Package INFO