Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 访问控制允许源于膝关节炎的服务器_Node.js_Cors_Cross Domain_Koa - Fatal编程技术网

Node.js 访问控制允许源于膝关节炎的服务器

Node.js 访问控制允许源于膝关节炎的服务器,node.js,cors,cross-domain,koa,Node.js,Cors,Cross Domain,Koa,首先,请记住,我已经检查了其他类似的帖子,并没有找到我的问题的正确答案 我开发了一个客户机/服务器应用程序 客户机部分位于React中,由“服务”节点web服务器提供服务。它必须调用存储在我的服务器上的REST服务 服务器部分是膝关节炎服务器(SO节点),服务于多个休息服务。 两者都安装在同一个覆盆子Pi上。这个树莓已连接到我的本地网络。我将网络防火墙配置为打开端口以访问客户端和REST服务。我还在网络中声明了我的React网站,以便访问 所以我可以很好地访问我的网站。但是当我尝试从那里调用RE

首先,请记住,我已经检查了其他类似的帖子,并没有找到我的问题的正确答案

我开发了一个客户机/服务器应用程序

客户机部分位于React中,由“服务”节点web服务器提供服务。它必须调用存储在我的服务器上的REST服务

服务器部分是膝关节炎服务器(SO节点),服务于多个休息服务。 两者都安装在同一个覆盆子Pi上。这个树莓已连接到我的本地网络。我将网络防火墙配置为打开端口以访问客户端和REST服务。我还在网络中声明了我的React网站,以便访问

所以我可以很好地访问我的网站。但是当我尝试从那里调用REST服务时(通过单击按钮),我得到了以下错误(在chrome下):请求的资源上没有“Access Control Allow Origin”头。因此,不允许访问源“”。响应的HTTP状态代码为403。“

我尝试在我的REST服务上安装koa cors,但没有成功。我尝试通过添加origin:true、origin:X.X.X、origin:true、credentials:true进行配置,但仍然没有成功

在网站上,我试图通过X.X.X.X、localhost和127.0.1.1访问我的REST服务,但没有更好的

请帮忙

[编辑]我的服务器定义的代码

const Koa = require('koa');
const app = new Koa();
const cors = require('koa-cors');
const PORT = 8067;

const Router = require('koa-router');
const router = new Router();
const Logger = require('koa-logger');
const respond = require('koa-respond');
const BodyParser = require('koa-bodyparser');
const log4jslogger = require('./libs/logger.js');

app.use(cors());    // << deprecated. Find better method ?
app.use(BodyParser({
  enableTypes: ['json'],
  jsonLimit: '5mb',
  strict: true,
  onerror: function (err, ctx) {
    ctx.throw('body parse error', 422)
  }
}))

app.use(respond());

// API routes
app.use(Logger());
router.use('/users', require('./routes/users'));
app.use(router.routes());
app.use(router.allowedMethods());

const server = app.listen(PORT, () => {
  log4jslogger.warn(`${new Date()} : User server listening on port: ${PORT}`);
});

module.exports = app;
<代码> const膝关节炎=要求(“膝关节”); const-app=新Koa(); const-cors=要求(“koa-cors”); 常数端口=8067; const Router=require('koa-Router'); const router=新路由器(); const Logger=require('koa-Logger'); const respond=require('koa-respond'); const BodyParser=require('koa-BodyParser'); const log4jslogger=require('./libs/logger.js'); app.use(cors());//{ warn(`${new Date()}:在端口上侦听的用户服务器:${port}`); }); module.exports=app; 尝试使用,现在推荐使用此选项