Проблема Cors решена за счет использования прокси, который не работает после обслуживания в Netlify Create-react-app - PullRequest
0 голосов
/ 26 мая 2020

Я создал сайт по недвижимости, который делает запрос api на «https://completecriminalchecks.com». В режиме разработки я получал ужасную ошибку, заблокированную Cors. В ходе некоторых исследований я обнаружил, что мне нужно использовать прокси-сервер для решения проблемы, что он и сделал в режиме разработки на моем локальном хосте. Но теперь я развернул сайт для netlify, я получаю ошибку 404 при выполнении запроса. когда я смотрю на запрос от сетевых инструментов разработчика, он говорит:

URL-адрес запроса: https://master--jessehaven.netlify.app/api/json/?apikey=6s4xxxxx13xlvtphrnuge19&search=radius&miles=2&center=98144

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

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Вам не нужно использовать прокси, вы включите CORRS на своем сервере. Вы используете сервер onde?

Если вы используете express что-то вроде этого:

npm install --save cors

А затем используйте его как промежуточное ПО:

var express = require('express');
var cors = require('cors');
var app = express();
app.use(cors());

Также в ваш файл netlify.toml это поможет:

# The following redirect is intended for use with most SPAs that handle
# routing internally.
[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200

[[headers]]
  # Define which paths this specific [[headers]] block will cover.
  for = "/*"
    [headers.values]
    Access-Control-Allow-Origin = "*"
0 голосов
/ 26 мая 2020

Пробовали ли вы netify документацию об этом?

Прокси-сервер для другой службы Так же, как вы можете переписывать пути вроде / * в /index.html, вы также можете настройте правила, позволяющие частям вашего сайта использовать прокси для внешних служб. Допустим, вам нужно связаться из одностраничного приложения с API на https://api.example.com, которое не поддерживает запросы CORS. Следующее правило позволит вам использовать / api / из вашего JavaScript клиента:

/api/*  https://api.example.com/:splat  200

Теперь все запросы к / api / ... будут проксироваться на https://api.example.com прямо с наших серверов CDN без дополнительного подключения из браузера. Если API поддерживает стандартные механизмы кэширования HTTP, такие как ETags или заголовки Last-Modified, ответы даже будут кэшироваться нашими узлами CDN.

...