статический контент и NodeJS Express

Cyril Zlachevsky cyril.zlachevsky на gmail.com
Пн Сен 28 17:08:03 UTC 2020


Есть приложение на NodeJS, которое прекрасно работает в
developer-режиме. В качестве http-сервера используется ExpressJS.
В production-режиме появляется проблема - http GET запросы возвращают
404-ю ошибку для всех новых файлов, загруженных после старта приложения
в каталог public.

Пример: если до старта файл public/static/old.jpg существовал, GET
запрос вернет его с кодом 200.
Если мы загрузили через nodejs-приложение файл public/static/new.jpg
GET-запрос будет возвращать ошибку 404. Если перезапустить приложение,
GET на public/static/new.jpg будет возвращать 200.

Гугление проблемы привело к пониманию, что это не ошибка, а особенность
Express-сервера и для production рекомендуется использовать связку
nginx+express. Как мне настроить работу этой связки, я не вполне
представляю, поэтому прошу помощи здесь.


Подробная информация о списке рассылки nginx-ru