Развертывание ReactJS с Ax ios в Ubuntu - PullRequest
0 голосов
/ 16 апреля 2020

У нас есть 2 разных сервера:

Front end: http://front-end.com
Back end: http://back-end.com

Реактивная часть - это просто http://front-end.com, который я пытаюсь развернуть

Эти 2 подключены с помощью Ax ios, это отлично работает на моем локальном компьютере, используя npm start
, помещая proxy: http://back-end.com в package.json

Issue

Когда я развертываю его, соединение REST API с помощью ax ios cann ' t работать на всех

1-я попытка: подача apache для запуска в папку build
Ошибка: домашняя страница загружена, но 404 на всех Вызов REST, после проверки он пытается получить доступ к http://front-end.com/rest_method_name вместо http://back-end.com/rest_method_name, к которому он должен был получить доступ

2-я попытка: работа на serve -s build в соответствии с предложением
Ошибка : домашняя страница загружена, но все вызовы REST возвращают этот текст You need to enable JavaScript to run this app. на теле

3-я попытка: удаление прокси на package.json, затем введите полный URL-адрес all ax ios call
Error : домашняя страница загружена, все вызовы REST получили ошибку CORS и не запускаются

Может кто-нибудь дать мне знать, как выполнить действовать и Ax ios правильно, если бэкэнд находится на другом доменном имени?

EDIT В соответствии с запросом @ technogeek1995, вот заголовок запроса Ax ios

  axios.get('/login', {
    'headers': {
      'Authorization': `Basic ${token}`
    }
  })

У меня нет никаких других настроек, кроме этого и proxy: http://back-end.com и вышеупомянутого Axe ios code

EDIT 2 Я добавил заголовок CORS как и предполагалось, до сих пор не повезло. Такая же ошибка выдает CORS. Я также убедился, что я включил a2enmod header

# Always set these headers.
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, author    ization, accept, client-security-token"

# Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

1 Ответ

0 голосов
/ 20 апреля 2020

Я спросил вокруг и наконец нашел проблему. Я полностью искал неправильное направление, я продолжал смотреть на http://front-end.com сервер.

В моем примере возникает проблема CORS с внутреннего сервера http://back-end.com.

Access-Control-Allow-Origin "*"

Это необходимо добавить на внутренний сервер, обслуживающий REST API.

...