cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!

Скачивания файлов (в браузере) с FTP сервера через VPS?

Привет, такая ситуация:
У меня есть простенький VPS где мало места, там крутиться nginx и php 7.4
Я купил FTP сервер чтобы хранить там файлы, но доступ к ним из вне запрещен, по прямой ссылке нельзя скачать.
Я хотел сделать на vps сайт с прямыми ссылками на эти файлы, но так как public доступа нет, не могу сделать.

Вопрос в следующем, есть ли возможность какая нибудь через php коннектиться к ftp и отдавать файл пользователю в браузер при этом не скачивая его на свой сервер, так как на ftp могут быть файлы по 20 гигов, а на vps всего 10 гигов памяти ну и свободно соответственно меньше. Да и запрос будет долгий, пока файл скачается на vps с ftp потом пользователю отдаст его, тут явно очередь нужна будет.
  • Вопрос задан
  • 326 просмотров
Пригласить эксперта
Ответы на вопрос 1
@rPman
ftp худший способ, работает медленно, веб сервером не поддерживается
купил FTP сервер
где же такой ужас нашел
p.s. fuse mount будет глючить, проверено, любой косяк даже малейший с сетью до ftp и вся машина висит и ожидает таймаут.

Ищи способ раздачи файлов по http, тогда nginx поддерживает проксирование, в т.ч. с авторизацией

При наличии полноценной vps-ки можно настроить nfs, не самый лучший способ (возможно я плохо настраивал, у меня было медленно) зато универсально и из коробки поддерживается всеми linux

Я помню настраивал nbd сетевое блочное устройство (можно ограничить доступ по ip адресам через фаервол) это было самое быстрое решение (не нагружает ни сервер ни клиент, никаких лишних накладных расходов так как доступ монопольный), все можно красиво кешировать на принимающей стороне средствами ОС, недостаток - лучше при плохой связи не монтировать на запись (считай диск выдергиваешь во время записи) ну и конечно это блочное устройство с монопольным доступом, на принимающей стороне его нужно монтировать а для обслуживания (если нужна запись) отключать, т.е. останавливать работу.

Полностью аналогичное nbd решение - это iscsi сервер (на linux рекомендую использовать istgt, очень простая и легкая реализация, другие кушают процессор), в этом случае его может подключить и windows машина.

Так вот главный момент, подключив медленное блочное устройство в linux можно поверх него добавить кеширование на локальный диск меньшего размера, например с помощью универсального bcache (есть еще старый lvcache), так же файловая система zfs умеет штатно кеширующие устройства для кеша на чтение. В общем возможности очень гибкие.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы