Я работаю над приложением в NodeJS и React для моих исследований, и у меня возникает проблема:
Когда я использую свое приложение в localhost, время ожидания для моего сообщения с запросом на длительное время ( 20/30 минут) работает (напишите в файле setupProxy. js). Но в приложении, развернутом в Dokku, этот тайм-аут не работает (запрос завершается через 1 минуту с ошибкой: « POST 504 (время ожидания шлюза) »). Я думаю, что у Dokku есть тайм-аут по умолчанию, но я не уверен, и я не выяснил, как я могу это исправить.
Мой код:
setupProxy. js
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function (app) {
var port;
if (process.env.PORT) {
port = process.env.PORT;
} else {
port = 5000;
}
app.use(
createProxyMiddleware('/api/students', {
target: `http://localhost:${port}`,
timeout: 3840000,
})
);
app.use(
createProxyMiddleware('/api', {
target: `http://localhost:${port}`,
})
);
};
сервер. js
const express = require('express');
const connectDB = require('./config/db');
const path = require('path');
const app = express();
//Connect Database
connectDB();
//Set the limit higher
app.use(express.json({ limit: '50mb' }));
app.use(express.urlencoded({ limit: '50mb', extended: true }));
//Define Routes
app.use('/api/users', require('./routes/api/users'));
app.use('/api/admins', require('./routes/api/admins'));
app.use('/api/auth', require('./routes/api/auth'));
app.use('/api/profile', require('./routes/api/profile'));
app.use('/api/students', require('./routes/api/students'));
app.use('/api/email', require('./routes/api/email'));
// Serve static assets in production
if (process.env.NODE_ENV === 'production') {
// Set static folder
app.use(express.static('client/build'));
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
});
}
//Look on the heroku app for the port OR take de default port 5000
const PORT = process.env.PORT || 5000;
var server = app.listen(PORT, () =>
console.log(`Server started on port ${PORT}`)
);
Заранее благодарим за помощь! Камилла.