Мое приложение для реагирования работает, если обратный прокси-сервер nginx установлен следующим образом:
сервер {
слушать 80;
server_name my_public_vps_addr;
место расположения / {
прокси_пароль http://127.0.0.1:3000/;
}
}
Я могу правильно загрузить страницу по адресу http://my_public_vps_addr/.
Но я хочу получить доступ к сайту через http://my_public_vps_addr/ecapp/.
Итак, я настроил nginx:
сервер {
слушать 80;
server_name my_public_vps_addr;
местоположение /ecapp/ {
прокси_пароль http://127.0.0.1:3000/;
}
}
Теперь, если я загружу страницу по адресу http://my_public_vps_addr/ecapp/ и проверю консоль, я получу:
ПОЛУЧИТЬ http://my_public_vps_addr/static/js/bundle.js
[HTTP/1.1 404 не найдено 147 мс]
ПОЛУЧИТЬ http://my_public_vps_addr/static/js/0.chunk.js
[HTTP/1.1 404 не найдено 433 мс]
ПОЛУЧИТЬ http://my_public_vps_addr/static/js/main.chunk.js
[HTTP/1.1 404 не найдено 424 мс]
Я определил возможную причину. Активы должны быть получены из http://my_public_vps_addr/ecapp/static/js/bundle.js
и т. д. вместо http://my_public_vps_addr/static/js/bundle.js
.
Чтобы исправить эту ошибку, я приведу соответствующий исходный код:
сервер.js
константный экспресс = требуется ('экспресс');
константное сжатие = требуется('сжатие');
постоянный путь = требуется ('путь');
константное приложение = экспресс();
app.use(сжатие());
app.use(express.static(path.join(__dirname, 'build')));
app.get('*', function(req, res) {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
const PORT = process.env.PORT || 3000;
app.listen(ПОРТ, () => {
console.log(`Приложение работает на порту ${PORT}`);
});
я пытался app.use('/ecapp/static', express.static(path.join(__dirname, 'build')));
но не повезло.
Routes.js
константные маршруты = () => {
возвращаться (
<Браузермаршрутизатор>
<Переключатель>
<Route path="/" точный компонент={Home} />
...
</переключатель>
</Браузермаршрутизатор>
);
};
я пытался <BrowserRouter basename='/ecapp'></BrowserRouter>
но не повезло.
Я думаю, что приложение будет правильно загружаться по адресу http://my_public_vps_addr/ecapp/, если я смогу настроить страницу для поиска ресурсов по адресу http://my_public_vps_addr/ecapp/static/*
. Мне нужна помощь в этом.