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

2020-09-29 Пенетрантность Илья Шипицин
вт, 29 сент. 2020 г. в 12:11, Cyril Zlachevsky :

> спасибо за помощь, все заработало как надо, с небольшими изменениями -
> в строке конфига nginx
> root  root /var/www/path/to/static;
> не нужно указывать в конце static, иначе nginx будет добавлять static
> два раза в запрос и не находить запрашиваемый файл:
> 2020/09/29 09:21:30 [error] 1530#1530: *179 open()
>
> "home/user/src/nodejs-app/public/static/static/paintings/ekGLnI-1601359891434.jpg"
> failed (2: No such file or directory), client: 127.0.0.1, server: ,
> request: "GET /static/paintings/ekGLnI-1601359891434.jpg HTTP/1.1",
> host: "127.0.0.1:8080", referrer:
> "http://127.0.0.1:8080/admin/paintings/16";
>
> В итоге рабочий конфиг у меня получился такой:
> server {
> listen 8080;
> location / {
> proxy_pass http://127.0.0.1:3000;
> }
>
> location /static/ {
> root /home/user/src/nodejs-app/public/;
> }
> }
>
> Осталось как-то проверить, будут ли отклоняться запросы PUT и
> POST-запросы к каталогу public/static, не содержащие кук авторизации -
> эта проверка есть на бек-энде, но я не уверен, сработает ли она в
> текущей связке с nginx.
>


curl -X POST ...
curl -X PUT ...


>
>
> вт, 29 сент. 2020 г. в 08:44, fox :
> >
> > Как уже писали выше, например, так:
> > 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:
> > > protected generatePublicRoutes(): Route[] {
> > >
> > > Авторизация требуется только на загрузку файлов в данный каталог через
> > > запросы PUT и POST и реализована в Express.
> > > И насколько я представляю задачу, нужно, чтобы nginx знал об Express и
> > > динамический контент отдавал ему (на порт 3000 например), а работу со
> > > статикой брал на себя.
> > > Как этот функционал реализовать?
> > >
> > > пн, 28 сент. 2020 г. в 21:07, Alexey Galygin :
> > >>
> > >> Express действительно любит кэшировать состояния (правда это больше
> касается шаблонов — он их компилирует и больше не проверяет, но слышать про
> файлы такое удивительно, возможно используемое раздающее middleware
> придерживается другой политики)
> > >>
> > >
> > >> обычная практика в таких случаях:
> > >>
> > >> выделение «датахранилки» — папки, которую через настроенный location
> раздаёт nginx напрямую
> > >> с кэшами (заголовки и настройки добавить по вкусу)
> > >> https://nginx.org/ru/docs/beginners_guide.html#static
> > >>
> > >> вся статика складывается туда, и нет смысла грузить backend
> непрофильными запросами вообще — nginx отстреляется лучше всего
> > >>
> > >> если каким-то файлам требуется авторизация, можно сделать
> дополнительный internal location и с backend после проверки кидать туда
> (через x-accel-redirect —
> https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/)
> > >> и nginx опять таки отдаст статику напрямую и быстрее любой backend
> логики
> > >>
> > >> более того, можно сделать, чтобы правильна работала отдача частичного
> контента (bytes range) и эффективная раздача с диска
> > >>
> > >> всё что не попадает под пути хранилки проксировать на Express
> > >>
> > >> On 28 Sep 2020, at 20:08, Cyril Zlachevsky <
> cyril.zlachev...@gmail.com> wrote:
> > >>
> > >> Есть приложение на 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 mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-29 Пенетрантность Cyril Zlachevsky
спасибо за помощь, все заработало как надо, с небольшими изменениями -
в строке конфига nginx
root  root /var/www/path/to/static;
не нужно указывать в конце static, иначе nginx будет добавлять static
два раза в запрос и не находить запрашиваемый файл:
2020/09/29 09:21:30 [error] 1530#1530: *179 open()
"home/user/src/nodejs-app/public/static/static/paintings/ekGLnI-1601359891434.jpg"
failed (2: No such file or directory), client: 127.0.0.1, server: ,
request: "GET /static/paintings/ekGLnI-1601359891434.jpg HTTP/1.1",
host: "127.0.0.1:8080", referrer:
"http://127.0.0.1:8080/admin/paintings/16";

В итоге рабочий конфиг у меня получился такой:
server {
listen 8080;
location / {
proxy_pass http://127.0.0.1:3000;
}

location /static/ {
root /home/user/src/nodejs-app/public/;
}
}

Осталось как-то проверить, будут ли отклоняться запросы PUT и
POST-запросы к каталогу public/static, не содержащие кук авторизации -
эта проверка есть на бек-энде, но я не уверен, сработает ли она в
текущей связке с nginx.


вт, 29 сент. 2020 г. в 08:44, fox :
>
> Как уже писали выше, например, так:
> 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:
> > protected generatePublicRoutes(): Route[] {
> >
> > Авторизация требуется только на загрузку файлов в данный каталог через
> > запросы PUT и POST и реализована в Express.
> > И насколько я представляю задачу, нужно, чтобы nginx знал об Express и
> > динамический контент отдавал ему (на порт 3000 например), а работу со
> > статикой брал на себя.
> > Как этот функционал реализовать?
> >
> > пн, 28 сент. 2020 г. в 21:07, Alexey Galygin :
> >>
> >> Express действительно любит кэшировать состояния (правда это больше 
> >> касается шаблонов — он их компилирует и больше не проверяет, но слышать 
> >> про файлы такое удивительно, возможно используемое раздающее middleware 
> >> придерживается другой политики)
> >>
> >
> >> обычная практика в таких случаях:
> >>
> >> выделение «датахранилки» — папки, которую через настроенный location 
> >> раздаёт nginx напрямую
> >> с кэшами (заголовки и настройки добавить по вкусу)
> >> https://nginx.org/ru/docs/beginners_guide.html#static
> >>
> >> вся статика складывается туда, и нет смысла грузить backend непрофильными 
> >> запросами вообще — nginx отстреляется лучше всего
> >>
> >> если каким-то файлам требуется авторизация, можно сделать дополнительный 
> >> internal location и с backend после проверки кидать туда (через 
> >> x-accel-redirect — 
> >> https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/)
> >> и nginx опять таки отдаст статику напрямую и быстрее любой backend логики
> >>
> >> более того, можно сделать, чтобы правильна работала отдача частичного 
> >> контента (bytes range) и эффективная раздача с диска
> >>
> >> всё что не попадает под пути хранилки проксировать на Express
> >>
> >> On 28 Sep 2020, at 20:08, Cyril Zlachevsky  
> >> wrote:
> >>
> >> Есть приложение на 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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-28 Пенетрантность fox
Как уже писали выше, например, так:
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:
> protected generatePublicRoutes(): Route[] {
> 
> Авторизация требуется только на загрузку файлов в данный каталог через
> запросы PUT и POST и реализована в Express.
> И насколько я представляю задачу, нужно, чтобы nginx знал об Express и
> динамический контент отдавал ему (на порт 3000 например), а работу со
> статикой брал на себя.
> Как этот функционал реализовать?
> 
> пн, 28 сент. 2020 г. в 21:07, Alexey Galygin :
>>
>> Express действительно любит кэшировать состояния (правда это больше касается 
>> шаблонов — он их компилирует и больше не проверяет, но слышать про файлы 
>> такое удивительно, возможно используемое раздающее middleware придерживается 
>> другой политики)
>>
> 
>> обычная практика в таких случаях:
>>
>> выделение «датахранилки» — папки, которую через настроенный location раздаёт 
>> nginx напрямую
>> с кэшами (заголовки и настройки добавить по вкусу)
>> https://nginx.org/ru/docs/beginners_guide.html#static
>>
>> вся статика складывается туда, и нет смысла грузить backend непрофильными 
>> запросами вообще — nginx отстреляется лучше всего
>>
>> если каким-то файлам требуется авторизация, можно сделать дополнительный 
>> internal location и с backend после проверки кидать туда (через 
>> x-accel-redirect — 
>> https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/)
>> и nginx опять таки отдаст статику напрямую и быстрее любой backend логики
>>
>> более того, можно сделать, чтобы правильна работала отдача частичного 
>> контента (bytes range) и эффективная раздача с диска
>>
>> всё что не попадает под пути хранилки проксировать на Express
>>
>> On 28 Sep 2020, at 20:08, Cyril Zlachevsky  
>> wrote:
>>
>> Есть приложение на 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 mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-28 Пенетрантность Илья Шипицин
вт, 29 сент. 2020 г. в 10:14, Cyril Zlachevsky :

> В middleware NextJS каталог public прописан как protected:
> protected generatePublicRoutes(): Route[] {
>
> Авторизация требуется только на загрузку файлов в данный каталог через
> запросы PUT и POST и реализована в Express.
> И насколько я представляю задачу, нужно, чтобы nginx знал об Express и
> динамический контент отдавал ему (на порт 3000 например), а работу со
> статикой брал на себя.
> Как этот функционал реализовать?
>

при помощи try_files


>
> пн, 28 сент. 2020 г. в 21:07, Alexey Galygin :
> >
> > Express действительно любит кэшировать состояния (правда это больше
> касается шаблонов — он их компилирует и больше не проверяет, но слышать про
> файлы такое удивительно, возможно используемое раздающее middleware
> придерживается другой политики)
> >
>
> > обычная практика в таких случаях:
> >
> > выделение «датахранилки» — папки, которую через настроенный location
> раздаёт nginx напрямую
> > с кэшами (заголовки и настройки добавить по вкусу)
> > https://nginx.org/ru/docs/beginners_guide.html#static
> >
> > вся статика складывается туда, и нет смысла грузить backend
> непрофильными запросами вообще — nginx отстреляется лучше всего
> >
> > если каким-то файлам требуется авторизация, можно сделать дополнительный
> internal location и с backend после проверки кидать туда (через
> x-accel-redirect —
> https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/)
> > и nginx опять таки отдаст статику напрямую и быстрее любой backend логики
> >
> > более того, можно сделать, чтобы правильна работала отдача частичного
> контента (bytes range) и эффективная раздача с диска
> >
> > всё что не попадает под пути хранилки проксировать на Express
> >
> > On 28 Sep 2020, at 20:08, Cyril Zlachevsky 
> wrote:
> >
> > Есть приложение на 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 mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-28 Пенетрантность Cyril Zlachevsky
В middleware NextJS каталог public прописан как protected:
protected generatePublicRoutes(): Route[] {

Авторизация требуется только на загрузку файлов в данный каталог через
запросы PUT и POST и реализована в Express.
И насколько я представляю задачу, нужно, чтобы nginx знал об Express и
динамический контент отдавал ему (на порт 3000 например), а работу со
статикой брал на себя.
Как этот функционал реализовать?

пн, 28 сент. 2020 г. в 21:07, Alexey Galygin :
>
> Express действительно любит кэшировать состояния (правда это больше касается 
> шаблонов — он их компилирует и больше не проверяет, но слышать про файлы 
> такое удивительно, возможно используемое раздающее middleware придерживается 
> другой политики)
>

> обычная практика в таких случаях:
>
> выделение «датахранилки» — папки, которую через настроенный location раздаёт 
> nginx напрямую
> с кэшами (заголовки и настройки добавить по вкусу)
> https://nginx.org/ru/docs/beginners_guide.html#static
>
> вся статика складывается туда, и нет смысла грузить backend непрофильными 
> запросами вообще — nginx отстреляется лучше всего
>
> если каким-то файлам требуется авторизация, можно сделать дополнительный 
> internal location и с backend после проверки кидать туда (через 
> x-accel-redirect — 
> https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/)
> и nginx опять таки отдаст статику напрямую и быстрее любой backend логики
>
> более того, можно сделать, чтобы правильна работала отдача частичного 
> контента (bytes range) и эффективная раздача с диска
>
> всё что не попадает под пути хранилки проксировать на Express
>
> On 28 Sep 2020, at 20:08, Cyril Zlachevsky  wrote:
>
> Есть приложение на 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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-28 Пенетрантность Alexey Galygin
Express действительно любит кэшировать состояния (правда это больше касается 
шаблонов — он их компилирует и больше не проверяет, но слышать про файлы такое 
удивительно, возможно используемое раздающее middleware придерживается другой 
политики)

обычная практика в таких случаях:

выделение «датахранилки» — папки, которую через настроенный location раздаёт 
nginx напрямую
с кэшами (заголовки и настройки добавить по вкусу)
https://nginx.org/ru/docs/beginners_guide.html#static 


вся статика складывается туда, и нет смысла грузить backend непрофильными 
запросами вообще — nginx отстреляется лучше всего

если каким-то файлам требуется авторизация, можно сделать дополнительный 
internal location и с backend после проверки кидать туда (через 
x-accel-redirect — 
https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/)
и nginx опять таки отдаст статику напрямую и быстрее любой backend логики

более того, можно сделать, чтобы правильна работала отдача частичного контента 
(bytes range) и эффективная раздача с диска

всё что не попадает под пути хранилки проксировать на Express

> On 28 Sep 2020, at 20:08, Cyril Zlachevsky  wrote:
> 
> Есть приложение на 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 mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-28 Пенетрантность Cyril Zlachevsky
Ответ разработчиков NextJS (у меня SSR-приложение на React, поэтому
сначала спросил у них) на данную проблему - для ее решения используйте
стороннее решение https://github.com/vercel/next.js/discussions/16417

Отсылки к nginx для решения данной проблемы:
https://stackoverflow.com/questions/58115695/how-to-detect-404-errors-from-express-static
https://stackoverflow.com/questions/32419492/proxying-nginx-express-404-on-static-files


пн, 28 сент. 2020 г. в 20:18, Илья Шипицин :
>
> Лучшим источником информации было бы описание со стороны Express. Вы у них 
> эту рекомендацию нашли? Поделитесь ссылкой?
>
> On Mon, Sep 28, 2020, 10:08 PM Cyril Zlachevsky  
> wrote:
>>
>> Есть приложение на 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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-28 Пенетрантность Илья Шипицин
Лучшим источником информации было бы описание со стороны Express. Вы у них
эту рекомендацию нашли? Поделитесь ссылкой?

On Mon, Sep 28, 2020, 10:08 PM Cyril Zlachevsky 
wrote:

> Есть приложение на 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 mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-28 Пенетрантность Cyril Zlachevsky
Есть приложение на 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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru