最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

RESTIFY服务器中的CORS给我带来麻烦

运维笔记admin7浏览0评论

RESTIFY服务器中的CORS给我带来麻烦

RESTIFY服务器中的CORS给我带来麻烦

我有一个RESTIFY api并在Raspberry pi上运行。它的IP在192.168.1.12处是静态的。我还想从create-react-app运行可访问的网络服务器,该服务器从api获取信息。

  • RESTify-192.168.1.12:8080
  • create-react-app:192.168.1.12:3000

create-react-app

axios.get(`http://localhost:8080/ping`).then(
    (response) => {
        console.log(`response received!`);
    }
).catch(
    (error) => {
        console.error(`error received from axios`);
    }
);

[RESTify(在设置服务器时):

const corsMiddleware = require('restify-cors-middleware');
const cors = corsMiddleware(
    {
        origins: [
            '*'
        ]
    }
);
server.pre(cors.preflight);
server.use(cors.actual);
server.get(`/ping`, (req, res) => res.send(200));

但是我仍然无法获得create-react-app来访问服务器。我在这里错了吗?

回答如下:

如果使用的是Expressjs,则可以使用。

npm install cors
var express = require('express')
var cors = require('cors')
var app = express()

app.use(cors())

或者您可以使用中间件

//CORS middleware
var corsMiddleware = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', 'localhost'); //replace localhost with actual host
    res.header('Access-Control-Allow-Methods', 'OPTIONS, GET, PUT, PATCH, POST, DELETE');
    res.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Authorization');

    next();
}

app.use(corsMiddleware); 
发布评论

评论列表(0)

  1. 暂无评论