Почему я могу вызвать порт API из приложения React, используя IP-адрес, но не при использовании «localhost» - PullRequest
0 голосов
/ 28 февраля 2020

React или ax ios, кажется, не понимают, какой локальный хост установлен.

Я обслуживаю клиентское приложение реагирования на порт 3000 и api-сервер реагирования на порт 3030.

Я могу позвонить curl -s localhost:3030 из командной строки и получить хороший ответ. Но когда я звоню, используя ax ios или выбираю в моем клиентском приложении, я получаю net::ERR_CONNECTION_REFUSED.

Например, это работает:

axios.post("http://xxx.xx.xxx.xxx:3030/authentication", {

Это не работает (net :: ERR_CONNECTION_REFUSED):

axios.post("http://localhost:3030/authentication", {

(где localhost - это та же машина с номером xxx выше)

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

"Access-Control-Allow-Origin"

"Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"

Кроме того, мой браузер, кажется, явно сообщает об ошибках CORs (по крайней мере, ранее)

1 Ответ

0 голосов
/ 28 февраля 2020

Если вы обслуживаете своего клиента (приложение React) с другого порта, а в 3030 году это только ваш бэкэнд, то это, вероятно, CORS. Вы должны настроить свой внутренний сервер на прием петиций от домена вашего приложения.

...