Разрешение нескольких Cors в Node Express - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь разрешить несколько Cors с узлом в моем экспресс-API, я смог заставить его работать, но в настоящее время сталкиваюсь с двумя проблемами.

  1. Я не могу подключиться к моему API с помощью почтальона, потому что я проверил, и оказалось, что источник, отправленный с почтальона, не определен.
  2. У меня есть мобильное приложение, которое также обменивается данными с сервером, проблема заключается в том, что после того, как я разрешил несколько разных источников, приложение также не может связаться с сервером.

Как мне решить эту проблему, потому что я не могу оставить свой API-сервер открытым, чтобы разрешить связь из любого источника.

Ответы [ 3 ]

0 голосов
/ 24 августа 2018

На производстве попробуйте это вместо * в заголовке Access-Control-Allow-Origin. Для разрешения разработки любой источник не будет проблемой (зависит от вашего сценария)

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "yourdomain.com");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});
0 голосов
/ 24 августа 2018
app.use(function(req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
 res.setHeader('Access-Control-Expose-Headers','Content-Type,expire');
next();
});

Попробуйте это на своем сервере. Если вы хотите передать дополнительный параметр заголовка, вам нужно добавить эти переменные в res.setHeader ('Access-Control-Allow-Headers', 'Content-Type, token'); но помните, не используйте '-' в имени переменной.

0 голосов
/ 24 августа 2018

Вы пробовали с Cors для nodejs

Добавить зависимость:

$ npm install cors --save

А затем добавьте cors в ваш app.js

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

app.use(cors())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...