Есть приложение на NodeJS, которое прекрасно работает в
developer-режиме. В качестве http-сервера используется ExpressJS.
В production-режиме появляется проблема - http GET запросы возвращают
404-ю ошибку для всех новых файлов, загруженных после старта приложения
в каталог public.
Пример: если до
Лучшим источником информации было бы описание со стороны Express. Вы у них
эту рекомендацию нашли? Поделитесь ссылкой?
On Mon, Sep 28, 2020, 10:08 PM Cyril Zlachevsky
wrote:
> Есть приложение на NodeJS, которое прекрасно работает в
> developer-режиме. В качестве http-сервера используется Express
Ответ разработчиков NextJS (у меня SSR-приложение на React, поэтому
сначала спросил у них) на данную проблему - для ее решения используйте
стороннее решение https://github.com/vercel/next.js/discussions/16417
Отсылки к nginx для решения данной проблемы:
https://stackoverflow.com/questions/58115695
Express действительно любит кэшировать состояния (правда это больше касается
шаблонов — он их компилирует и больше не проверяет, но слышать про файлы такое
удивительно, возможно используемое раздающее middleware придерживается другой
политики)
обычная практика в таких случаях:
выделение «датах
В middleware NextJS каталог public прописан как protected:
protected generatePublicRoutes(): Route[] {
Авторизация требуется только на загрузку файлов в данный каталог через
запросы PUT и POST и реализована в Express.
И насколько я представляю задачу, нужно, чтобы nginx знал об Express и
динамичес
вт, 29 сент. 2020 г. в 10:14, Cyril Zlachevsky :
> В middleware NextJS каталог public прописан как protected:
> protected generatePublicRoutes(): Route[] {
>
> Авторизация требуется только на загрузку файлов в данный каталог через
> запросы PUT и POST и реализована в Express.
> И насколько я предс
Как уже писали выше, например, так:
server {
location / {
proxy_pass http://127.0.0.1:3000;
}
location /public/static/ {
root /var/www/path/to/static;
}
}
29.09.2020 12:14, Cyril Zlachevsky пишет:
> В middleware NextJS каталог public прописан как protected:
> prote