LINUX.ORG.RU

История изменений

Исправление AndreyKl, (текущая версия) :

Я уже плохо помню детали, но в целом идея (эффеткивной) настройки такая:

- у тебя есть nginx
- за ним стоит нода
- на nginx приходит запрос на картинку, например, /api/image/22.png
- этот запрос nginx должен передать ноде
- нода _не_ _должна_ отдавать картинку. должна проверить права на файл и передать nginx-у ответ в виде хидера с редиректом (модуль internal кажется). Если права доступа есть - то редирект на то метсо где лежит файл, а иначе на страничку с сообщением об ошибке.
- nginx принимает редирект от ноды, понимает его и отдаёт браузеру нужную информацию. при этом урл в браузере клиента остаётся /api/image/22.png (т.е. не меняется всю дорогу).

вот тут нашёл инструкцию, вроде то что нужно
https://shortcut.com/developer-how-to/how-to-use-internal-redirects-in-nginx

(да, хидер должен быть не обычный редирект, а X-Accel-Redirect, тогда nginx не передаёт его браузеру а обрабатывает сам. вроде так, но я уже наверное лет 7 не брался за это, поэтому за точность не ручаюсь).

Исправление AndreyKl, :

Я уже плохо помню детали, но в целом идея (эффеткивной) настройки такая:

- у тебя есть nginx
- за ним стоит нода
- на nginx приходит запрос на картинку, например, /api/image/22.png
- этот запрос nginx должен передать ноде
- нода _не_ _должна_ отдавать картинку. должна проверить права на файл и передать nginx-у ответ в виде хидера с редиректом (модуль internal кажется). Если права доступа есть - то редирект на то метсо где лежит файл, а иначе на страничку с сообщением об ошибке.
- nginx принимает редирект от ноды, понимает его и отдаёт браузеру нужную информацию. при этом урл в браузере клиента остаётся /api/image/22.png (т.е. не меняется всю дорогу).

вот тут нашёл инструкцию, вроде то что нужно
https://shortcut.com/developer-how-to/how-to-use-internal-redirects-in-nginx

(да, хидер должен быть не обычный редирект, а X-Accel-Redirect, тогда nginx не передаёт его браузеру а обрабатывает сам. вроде так).

Исходная версия AndreyKl, :

Я уже плохо помню детали, но в целом идея (эффеткивной) настройки такая:

- у тебя есть nginx
- за ним стоит нода
- на nginx приходит запрос на картинку, например, /api/image/22.png
- этот запрос nginx должен передать ноде
- нода _не_ _должна_ отдавать картинку. должна проверить права на файл и передать nginx-у ответ в виде хидера с редиректом (модуль internal кажется). Если права доступа есть - то редирект на то метсо где лежит файл, а иначе на страничку с сообщением об ошибке.
- nginx принимает редирект от ноды, понимает его и отдаёт браузеру нужную информацию. при этом урл в браузере клиента остаётся /api/image/22.png (т.е. не меняется всю дорогу).

вот тут нашёл инструкцию, вроде то что нужно
https://shortcut.com/developer-how-to/how-to-use-internal-redirects-in-nginx