nginx. Сервер возвращает только json объект
У меня такая проблема. Есть два скрипта 1-й react 2-й nodejs express. Они практически ничего не делают, react скрипт при первой загрузке обращается к маршруту "/" и получает в ответ json файл, который размещает у себя в разметке. Запрос из react:
function App() {
const [data, setData] = useState(null);
useEffect(() => {
const fetchData = async () => {
try {
console.log('Making request to server...');
const response = await axios.get('https://m.calc5.ru'); // запрос
console.log('Response received from server:', response);
setData(response.data.message);
} catch (error) {
console.error('Ошибка при выполнении запроса:', error);
}
};
fetchData();
}, []);
return (
<div className="App">
<header className="App-header">
<h1>Данные с сервера</h1>
<div>
{data ? (
<div>Данные загружены: {data}</div>
) : (
<div>Загрузка данных...</div>
)}
</div>
</header>
</div>
);
}
ответ nodejs:
app.get('/', (req, res)=>{
console.log(`зашел в маршрут /`);
res.json({ message: 'Node running' });
})
Если я делаю запрос с локальной машины запустив react скрипт, т.е. запускаю localhost:3000, при этом запрос остается на https://m.calc5.ru, то данные отображаются нормально, я вижу в браузере: Данные с сервера Данные загружены: Node running Я сделал деплой скрипта на firebase по адресу https://calc5test.web.app/ и так же получаю корректные данные. Но если я запускаю react скрипт на vds сервере, т.е. и клиентский и серверный скрипт работают на одной машине, и перехожу по адресу https://m.calc5.ru/ то я получаю в ответ только json: { "message": "Node running" } И html разметка затирается. Видимо я не до конца понимаю правила взаимодействия клиентского и серверного скрипта на одной машине когда к ним добавляется nginx. В чем может быть причина такого поведения?