NextJS не может подключиться к uwsgi напрямую
Я пытаюсь создать приложение с django на backend-стороне и nextjs на frontend-стороне. Бэкенд работает под управлением uwsgi
.
uwsgi --http 0.0.0.0:3000 -w project.wsgi --master --harakiri=60 --pidfile=uwsgi.pid
Когда я пытаюсь запустить npm run build
, я получаю ошибки (я использую axios, но пробовал и fetch)
cause: Error: socket hang up
at Socket.socketOnEnd (node:_http_client:524:23)
at Socket.emit (node:events:531:35)
at endReadableNT (node:internal/streams/readable:1696:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
code: 'ECONNRESET'
}
Похоже, что бэкэнд не работает... Но когда я запускаю только обычный wget http://my-backend-url/api/v1/same-url-which-produced-errors
, все работает нормально.
Я видел эту ошибку, когда использовал соединение между докер-контейнерами, а также на одном компьютере
В прошлый раз я справился с этим, используя nginx в качестве прокси для uwsgi. Но теперь я просто хочу понять, как это исправить и как сделать мое приложение без nginx
PS Странная вещь, которую я вижу в uwsgi-логах - это стопка одинаковых запросов (мой фронтенд этого не делает)
[pid: 64|app: 0|req: 13/13] 172.18.0.5 () {32 vars in 462 bytes} [Tue Jun 18 22:01:42 2024] GET /api/v1/page/?lang=en-US => generated 1755 bytes in 10 msecs (HTTP/1.1 200) 7 headers in 206 bytes (1 switches on core 0)
Десять и более раз
Просто добавьте параметр --http-keepalive
в скрипт запуска uwsgi