Задать вопрос
@Sergo94Min
Разработчик

Почему на продакшн в консоле запросы как localhost:3000/api/list а не через домен?

Стоит nuxt js + express
Есть внутренний бэк с базой и ORM sequelize
Первый раз при обновлении страницы все хорошо, делается
store.dispatch('washers/list')
По экшену делается запрос через аксиос
get('/api/list') на контроллер
А в контроллере уже достаю через ORM из базы данные
Но вот если перейти на другую страницу, а потом обратно, то в консоле ошибка
http://localhost:3000/api/list net::ERR_CONNECTION_REFUSED

Оно и понятно, потому что у клиента в браузере нет сервера localhost + порта 3000
Как заменить для клиента адрес на домен, ведь если открыть на домене
mydomain.ru/api/list
То сервер все отлично отдает в json данные как и нужно
Потому что nginx отрабатывает как proxy_pass http://127.0.0.1:3000;
Пробовал в конфиге nuxt прописать
axios: {
    proxy: true
  },
proxy: {
    '/api/': { target: 'https://mydomain.ru/', pathRewrite: { '^/api/': '' }, changeOrigin: true }
  },

Но в браузере все ровно
http://localhost:3000/api/list net::ERR_CONNECTION_REFUSED

Куда копать и что на что менять и где?
  • Вопрос задан
  • 597 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@szanislo
стоит проверить что везде указаны относительные пути, а не абсолютные.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы