Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > NginX - cкрытие прямых ссылок


Автор: numerovan 19.3.2017, 21:47
Здравствуйте.

На VPS стоят два веб-сервера: Apache и NginX. Как сделать чтоб удаленные файлы с другого сайта, например видео-файл, отдавались клиенту под видом текущего сервера (сайта) ? Одним словом не нужно палить эти ссылки, дабы не копировали люди их. Мне по сути раздницы нет Апачи это сделает или NginX, главно чтоб ссылки не палились.

Есть идеи?

Автор: Hiori 28.4.2017, 08:53
Вы же как-то отдаете этот файл, т.е. ссылка на него присутствует в Вашем контенте, значит Вы заранее знаете об этом файле все, что необходимо как то ссылку, размер, тип и т.п., что мешает для таких вот внешних файлов сделать таблицу в БД и по ID выдавать скриптом аля
http://domain.nnm/content.php?file=1234
если же NginX стоит фронтэндом апачу, можно еще больше запутать, аля http://domain.nnm/noexistsfolder/filename.ext
а уже при передаче ссылки на несуществующий файл апачу вызывать скрипт, таким образом можно создать полное впечатление присутствия файла на Вашем сервере

Автор: numerovan 28.4.2017, 11:57
На данный момент ссылки скрыты, и передаются как вы и написали (?id=123). Так же файлы передаются через fileread().
Можно ли сделать так чтоб ссылка была на удаленный файл, но при этом NginX подменял ссылку, якобы с текущего сервера?

Автор: _zorn_ 1.5.2017, 15:23
Чтобы не "палить" ты должен из скачать себе.
Если "палево скрывается"  от "обычных (не шарющих)" пользователей, можешь делать редирект в своем скрипте через хедер "Location"

Автор: Hiori 17.5.2017, 07:24
Цитата(_zorn_ @  1.5.2017,  15:23 Найти цитируемый пост)
Чтобы не "палить" ты должен из скачать себе.

да можно и не качать, а хранить ссылку в БД, а потом скриптом читать "на ходу" файл и отдавать контент пользователю, затратно по ресурсам, конечно, но если машинка/канал приличные, а нагрузка мала...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)