MiiZZo
@MiiZZo
JavaScript, React, NodeJS, Student

Как слать запросы к удаленному серверу с localhost, не нарушая cors политику?

Каким образом нужно настроить cors на удаленном сервере и какие настройки установить при запросе, дабы запрос был успешно выполнен?
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AzizbekAzizbek
Советую модуль cors в npm
localhost не имеет origin так что придется как то придумывать ключ доступа
Но пока сделайте следующее
$ npm install cors
API на удаленном сервере:
const cors = require('cors')
// я не знаю какой фреймворк, делайте следующее
//express js (я знаю тока еxpress)
//до объявления всех обработчиков
app.use(cors())
//если другой фреймворк то схема такая
//в каждом обработчике до получения данных вызовите cors() для разрешения доступа
Ответ написан
Комментировать
OCTAGRAM
@OCTAGRAM
Что ставить при запросе, это вам решать. Что должно пройти через бутылочное горлышко, то и отправлять.

Больше зависит от сервера. Если запрос GET, то сервер должен посмотреть, а нет ли в запросе заголовка Origin: http[s]://localhost[:порт] (без / на конце), и если да, то отзеркалить его в Access-Control-Allow-Origin. Если CORS запросы могут поступать с единственного Origin, то можно всем без разбору ставить заголовок Access-Control-Allow-Origin: http[s]://localhost[:порт]

Для GET этого может быть уже достаточно.

Для POST и других методов уже надо реализовать OPTIONS, отвечая 204 с заголовками Access-Control-Allow-Origin и Access-Control-Allow-Methods, а потом в ответе на сам POST тоже эти заголовки предоставлять.

Для разрешения отправления нестандартных заголовков запроса нужен Access-Control-Request-Headers, а для разрешения чтения — Access-Control-Expose-Headers
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы