Было предложено опубликовать здесь от переполнение стека. Вот надеюсь.
В моем приложении есть два компонента:
- «Приложение» DO, на котором размещается реагирующий веб-сайт. Этот веб-сайт отправляет запросы на:
- DO «Droplet», в котором размещается API
Когда я пытаюсь подключиться к дроплету из своей среды разработки, данные возвращаются, и локально развернутое реагирующее приложение отображает данные.
Однако, когда я развертываю приложение реакции в приложении DO и пытаюсь сделать тот же запрос, я получаю сообщение об ошибке: Необработанный отказ (TypeError): не разрешено запрашивать ресурс
. Консоль браузера предоставляет следующее.
Не разрешено запрашивать ресурс
Fetch API не может загрузить http://xxx.xxx.xxx.xxx:8080/search/ из-за проверок контроля доступа
Необработанный отказ от обещания: TypeError: Не разрешено запрашивать ресурс.
Я пробовал как общедоступный IP-адрес для дроплета, на котором размещен API, так и частный IP-адрес. Та же проблема возникает после развертывания приложения в приложении DO.
Ошибка
Какие области я могу посмотреть, где может быть проблема?
константа fetchReferences = асинхронная () => {
fetch(âhttp://xxx.xxx.xxx.xxx:8080/search/, {. // это строка с ошибками.
метод: «POST»,
тело: JSON.stringify({
URL: searchState.searchCriteria
В API Python я разрешаю все через:
приложение = Фляга (имя)
CORS(приложение, ресурсы={r"/â: {"происхождениеâ: ââ}})
API = API (приложение)
синтаксический анализатор = reqparse.RequestParser()
логирование
Выходной журнал Refgator API
Журнал ошибок API Refgator
Проблемы с CORS?
Так...
Почему экземпляр веб-сайта, загруженный локально с помощью yarn, успешно подключается к дроплету?
Я подозреваю, что это может быть связано с наличием общих ключей с каплей, на которой размещен API.
Почему экземпляр веб-сайта, загруженный на платформу приложения DO, безуспешно подключается к дроплету?
Я видел сообщения о проблемах CORS между каплями и приложениями, размещенными в Digital Ocean. Видеть здесь и здесь.
Моих знаний о CORS не существует, поэтому подтверждение этого требует очень много времени.
Возможно, лучше всего переместить репозиторий обратно в битбакет и попытаться использовать дроплет, а не приложение.