Как прокси-сервер для поддержки сервера по определенному пути?
Вот конфигурации маршрутов:
<Route path='/' component={CoreLayout}>
<IndexRoute component={HomeView}/>
<Route path='/404' component={NotFoundView}/>
<Redirect from='*' to='/404'/>
</Route>
Вот конфигурация прокси для webpack-dev-сервера:
proxy: {
'/service': 'http://localhost:8080'
}
Экспресс-сервер прослушивает 3000 портов.
Я надеюсь, что все запросы, отправленные на http://localhost:3000/service, будут перенесены в http://localhost:8080, но кажется, что response-router обрабатывает все запросы, а прокси-сервер не работает.
Любое тело знает, как это исправить? Заранее благодарю
Ответы
Ответ 1
-
Изучите документацию Dev Server Webpack, вам нужно предоставить объект с целевым свойством.
-
В документации по http-proxy-middleware показано использование шаблонов для сопоставления.
В заключение я бы попробовал это:
proxy: {
'/service/**': { target: 'http://localhost:8080' }
}
Ответ 2
Убедитесь, что вы правильно обрабатываете обещания для вызовов API. Я столкнулся с той же проблемой, когда клиентский сервер обрабатывал все вызовы API, а не возвращал ошибку 404 и захват прокси-сервера.
fetch("/api/list")
.then(res => res.json())
.then(data => {
// handle the data
})