спасибо за подсказку, нашел ответАвтор оригинала: fixxxer
приватность фотки мы не проверяем, мы о приватности уже знаем когда генерируем к ней урл.
и такие фотки лежат отдельно.
а проверяем что-нибудь простое, например http://sysoev.ru/nginx/docs/http/ngx_http_secure_link_module.html
(апач на нагруженном фотохостинге... ЛОЛ)
В общем да, только немного хитрее (в отличие от «стандартного» метода проксирующе-кеширующего nginx)
Пользователь просит файл вида somehost.com/store/username/filename.ext
Nginx спрашивает у скрипта на апаче этот файлик.
Апач данные не отдает, являясь бекендом для nginx, выдает хидеры:
X-Accel-Redirect с реальным именем файла на дисковой полке (а там система путей-подпапок с разбивкой по символам id файла), откуда файл отдаст сам nginx как статику.
Либо если файл данному пользователю не доступен — скрипт на апаче выдаст нужный отбив 400-404-503, на который nginx ответит уже сам через перехват ошибок.
В итоге апач со скриптом отвечает только хидерами достаточно быстро.
В нашем случае никуда ничего не пишется.
Файлы лежат на дисковой полке, которая доступна машине с nginx (для nginx это локальные файлы)
Для пользователя удобные ссылки на файлы, конечно же не совпадающие с физическим путем к файлам.
У nginx просят файл, nginx лезет на апач бекенд по tcp на другую машину и спрашивает у его скрипта что-то типа: пользоватеь такой-то просит файл такой-то. Скрипт проверяет доступ пользователя к файлу (его устанавливает владелец файлика, права хранятся в базе), вычисляет физический путь к файлу в ФС полки. И отдает эту информацию на nginx. А уже тот отдает файл с себя, что он умеет делать быстро и не напряжно по ресурсам. Если бы отдавали апачем — на каждую отдачу висело бы по апачу с mod_php и тонной обвеса долго и печально.
Ничего нестандартного, такая же возможность есть в Apache (mod_sendfile) и в Лайти.
так все равно - где-то должна быть проверка и в этом случае - получается такАвтор оригинала: fixxxer
ты не понял. ссылка уникальная для каждого посетителя
ип, сид - сам решай, от чего хэш
пригласить посмотреть картинку средствами соцсети
;-)ХА ХА ЛОХ