@felsme

Реакт приложение и api сервер на одном хостинге?

Привет, во время разработки реакт приложение работало на localhost:3000 и api сервер работал на localhost:1820
и вроде как они видели друг друга и все работало, но если загрузить это на хостинг и привязать домен, то реакт начинает ссылаться на свой адрес site.ru/api/message не находя ничего, а сервер так же живет рядом и доступен только уже по адресу ip от vps:1820/api/message, но если реакту принудительно указать нужный ip с портом, то он отказывается идти на этот запрос с ошибкой CORS
пока из решений приходит только сделать какой нибудь редирект запроса в nginx на апи сервер
  • Вопрос задан
  • 403 просмотра
Решения вопроса 1
@dimuska139
Backend developer
В настройках хоста Nginx настройте как-то так:
location ~ ^/api {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass      http://127.0.0.1:1820;
    }

    location / {
        autoindex on;
        root /var/www/dist;
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Используйте nginx
Ответ написан
Комментировать
@crystalbit
Full Stack NodeJS PHP JS React
как уже написали, можно сделать через nginx reverse proxy - это лучший вариант

второй вариант (похуже, но чтобы без реверсивного прокси) - на серверной части отправлять cors-заголовок в ответе, например Access-Control-Allow-Origin: домен фронта
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы