2016-02-25 9 views
0

Я нахожусь в главном дорожном блоке, потребляя услуги POST от этого клиента, у которого нет Access-Control-Allow-Origin.Решение проблемы с CORS через сервисы прокси или завиток

Я пробовал следующие решения или вы говорите, что это невозможно вообще?

  1. Посмотрел на JSONP, но это ограничено только GET.
  2. Создал сервис в моем домене, который может отправить запрос в домен клиента. Закончено с { [Error: socket hang up] code: 'ECONNRESET' }
  3. Не тестировалось, но могу ли я это выполнить с помощью зависания узла. https://www.npmjs.com/package/node-curl

Просьба сообщить.

+0

Таким образом, для некоторого осветления. Кому принадлежит эта услуга? Также нет проблем с CORS, проблемы с владельцем службы :) – loadaverage

+0

:) клиент владеет услугами, в основном Canvas LMS API, он основан на oAuth2, https://canvas.instructure.com/doc/api/index. html Есть ли работа вокруг, если заголовки отсутствуют? – user2727195

+0

В чем проблема, которую вы пытаетесь решить? Веб-страница пытается сделать запрос к вашему сервису? Или что-то другое? Или ваше приложение node.js просто пытается сделать запрос другому хосту? – jfriend00

ответ

1

Итак, почему бы просто не добавить этот заголовок? Только одна строка кода:

Вы можете запустить свой собственный сервер, который будет перенаправлять запросы на эту услугу (nginx может легко сделать это, take a peek).
В двух словах:
frontend app -> your proxy with CORS headers (like nginx) -> api service

+0

Я считаю, что мне нужно больше ресурсов и понимания для этого, любые видеоролики, которые вы можете порекомендовать посмотреть – user2727195

+0

Поскольку одна и та же политика происхождения основана на заголовках http и концепции «origin» - я бы рекомендовал погрузиться в HTTP и SOP RFC, очень красивую статью (устаревшую, но очень информационный) - [rf2616] (https://tools.ietf.org/html/rfc2616), SOP RFC [rfc6454] (https://tools.ietf.org/html/rfc6454), а также wiki имеет хорошие ссылки для SOP и как обходить его (рекомендуем прочитать их после rfc) - [sop on wiki] (https://en.wikipedia.org/wiki/Same-origin_policy). Если у вас недостаточно времени - прочитайте все ссылки из wiki, которые вас будут интересовать. PS: curl, tcpdump и netcat - приятные вещи для экспериментов с http. – loadaverage