У меня есть машина, на которой я хочу смонтировать несколько удаленных серверов для централизованного доступа к ним. Для удаленных систем на базе Linux я использую SSHFS, которая работает нормально. Но для систем Windows или систем без SSH все они имеют установленный HTTP-сервер для обмена файлами (так что у всех них включен просмотр каталогов).
Могу ли я смонтировать HTTP-сервер в качестве локальной файловой системы, например, SSHFS, чтобы все эти удаленные серверы были смонтированы локально и представлены единообразно?
filesystems
mount
remote
http
jwbensley
источник
источник
Ответы:
Вы можете сделать это с помощью WebDAV . Это расширение HTTP, которое поддерживается большинством веб-серверов, включая IIS и Apache. WebDAV может быть установлен в Linux через
davfs2
модуль FUSE.источник
davfs2
... илиfusedav
илиavfs
илиgvfs
(Гном / Наутилус) по крайней мере.Проблема с простым HTTP заключается в том, что он предназначен только для извлечения контента. Там нет понятия папки или списка файлов.
Некоторые веб-серверы позволяют просматривать структуры каталогов, генерируя красивые HTML-страницы со ссылками на файлы для каталогов. И, по крайней мере, такие вещи
lftp
способны анализировать некоторые распространенные форматы, в которых создаются эти индексы, и создают у вас впечатление, что это протокол передачи файлов, но на самом деле это не так, и я не знаю ни одной файловой системы с плавким предохранителем, которая могла бы разбирает индексы так, как этоlftp
делает.DAV - это расширение, которое просто делает это и уже охвачено ответом Джорданма.
Но учтите, что если вам не нужно перечислять каталоги,
avfs
по крайней мере, вы можете получить доступ к веб-страницам через файловую систему.Также обратите внимание, что вы также можете установить
sshd
(через cygwin) или FTP или Apache с DAV на компьютере с Windows, так что вы сможете делать то же самое, что и на компьютерах с Unix.источник
file listing
это то, что я называю "а"generated HTML page with links to file
. Это все еще нужно проанализировать, и нет никакого стандарта на формат этих страниц. Только на Apache есть несколько модулей, генерирующих эти индексы, которые можно настраивать разными способами. Так что нет надежного решения. Как я уже сказал, посмотрите,lftp
что пытается проанализировать многие из этих страниц списка .основная проблема, о которой уже говорилось выше: каталог / дерево.
Хотя ваш вопрос довольно старый и вы могли бы поступить иначе, я недавно написал файловую систему fuse, которая делает именно то, что вам нужно, при условии, что вы напишете небольшой скрипт, который даст ему «дерево» URL-адресов.
Это там: https://gitlab.com/BylonAkila/astreamfs
У вас есть пример скрипта для провайдера 1fichier, который вы можете адаптировать к своему личному серверу. Сценарий только подготавливает все аргументы для astreamfs, так что монтирование покажет все ваши файлы и папки в нужном месте. Это делается с помощью (в) известной техники «веб-скребка», то есть чтения HTML-страниц и извлечения соответствующих частей из этого.
Очевидно, что по-прежнему существует два основных условия по сравнению с обычными монтируемыми системами, такими как NFS или SSHFS:
источник