Hängen Sie den HTTP-Server als Dateisystem ein

9

Ich habe einen Computer, auf dem ich mehrere Remote-Server bereitstellen möchte, um zentral auf alle zuzugreifen. Für entfernte Linux-basierte Systeme verwende ich SSHFS, was gut funktioniert. Bei Windows-Systemen oder Systemen ohne SSH ist jedoch eine Art HTTP-Server installiert, auf dem die Dateien gemeinsam genutzt werden (für alle ist das Durchsuchen von Verzeichnissen aktiviert).

Kann ich einen HTTP-Server als lokales Dateisystem wie SSHFS bereitstellen, damit alle diese Remoteserver lokal bereitgestellt und einheitlich dargestellt werden können?

jwbensley
quelle
1
Jemand da draußen hat vielleicht ein Tool geschrieben, um dies zu simulieren, aber ich bezweifle es. Die Art und Weise, wie HTTP-Server die Informationen normalerweise darstellen, ist für sie nicht sehr förderlich.
Goldlöckchen
Wie oben. Auch das HTTP-Browsing ist genau das - es durchsucht und liest, unterstützt das Hochladen nicht. Ich würde entweder die Ordner freigeben, die entweder über SMB / CIFS oder FTP bereitgestellt werden sollen. Schauen Sie sich alternativ WebDAV an und ich bin sicher, dass Sie eine IIS-Implementierung finden können.
Dave C
2
@goldilocks Jemand da draußen hat es vor weit über 10 Jahren zu einem Standard gemacht.
Jordan
Lebe und lerne. :)
Goldlöckchen
1
@ DaveC Nun, normalerweise unterstützt das Durchsuchen von Verzeichnissen das Hochladen nicht, ich habe jedoch nicht erwähnt, dass ich nur Lesezugriff haben möchte. Obwohl HTTP selbst das Hochladen mit der PUT-Methode unterstützt.
Jwbensley

Antworten:

8

Sie können dies mit WebDAV tun . Dies ist eine HTTP-Erweiterung, die von den meisten Webservern unterstützt wird, einschließlich IIS und Apache. WebDAV kann unter Linux über das davfs2FUSE-Modul gemountet werden.

Jordanm
quelle
1
davfs2... oder fusedavoder avfsoder gvfs(Gnome / Nautilus) zumindest.
Stéphane Chazelas
5

Das Problem mit einfachem HTTP ist, dass es nur zum Abrufen von Inhalten dient. Es gibt kein Konzept für Ordner- oder Dateilisten.

Auf einigen Webservern können Sie Verzeichnisstrukturen durchsuchen, indem Sie schöne HTML-Seiten mit Links zu Dateien für Verzeichnisse erstellen. Und zumindest können Dinge wie lftpeinige der gängigen Formate, in denen diese Indizes generiert werden, analysieren und den Eindruck erwecken, dass es sich um ein Dateiübertragungsprotokoll handelt, aber es ist nicht wirklich so, und ich kenne keine Sicherungsdateisysteme, die dies können Analysieren Sie Indizes wie lftpgewohnt.

DAV ist eine Erweiterung, die genau das tut und bereits von Jordanms Antwort abgedeckt wird.

Beachten Sie jedoch, dass Sie, wenn Sie keine Verzeichnisse auflisten müssen, avfszumindest über das Dateisystem auf Webseiten zugreifen können.

$ mkdir AVFS
$ avfsd AVFS
$ grep -w Reputation 'AVFS/#http:unix.stackexchange.com|users|12583|javano'
 <span class="count">731</span> Reputation

Beachten Sie jetzt auch, dass Sie sshd(über Cygwin) oder FTP oder Apache mit DAV auch auf einem Windows-Computer installieren können , sodass Sie in der Lage sein sollten, die gleichen Aktionen wie auf Unix-Computern auszuführen.

Stéphane Chazelas
quelle
Würde der Pfadabschnitt einer HTTP-URL nicht als einer Verzeichnisstruktur unter dem Stammverzeichnis entsprechend angesehen? Außerdem bieten viele Webserver eine Dateiliste an, wenn Sie eine URL anfordern, die mit einem Verzeichnis und nicht mit einer Datei endet. und dann könnten diese beiden Konzepte in dieses Modell der Bereitstellung eines HTTP-Servers als Dateisystem übersetzt werden. Was das Veröffentlichen von Änderungen an einem solchen Mount angeht, bin ich mir nicht sicher, aber vielleicht könnten einige Webserver so konfiguriert werden, dass sie ähnlich wie FTP funktionieren
amphibient
@amphibient, ja, was du a nennst, nenne file listingich a generated HTML page with links to file. Es muss noch analysiert werden und es gibt keinen Standard für das Format dieser Seiten. Allein in Apache generieren mehrere Module diese Indizes, die auf viele verschiedene Arten optimiert werden können. Es gibt also keine narrensichere Lösung. Wie gesagt, sehen Sie, lftpdass versucht wird, viele dieser Listingseiten zu analysieren .
Stéphane Chazelas
1

Das oben bereits behandelte Hauptproblem ist: Verzeichnis- / Baumliste.

Obwohl Ihre Frage ziemlich alt ist und Sie möglicherweise etwas anderes getan haben, habe ich kürzlich ein Sicherungsdateisystem geschrieben, das genau das tut, was Sie benötigen, vorausgesetzt, Sie schreiben ein kleines Skript, um ihm den "Baum" von URLs zu geben.

Es ist da: https://gitlab.com/BylonAkila/astreamfs

Sie haben ein Beispielskript für den Anbieter 1fichier, das Sie an Ihren persönlichen Server anpassen können. Das Skript bereitet nur alle Argumente für astreamfs vor, damit der Mount alle Ihre Dateien und Ordner an der richtigen Stelle anzeigt. Dies geschieht mit der (in) berühmten "Web Scraping" -Technik, auch bekannt als Lesen von HTML-Seiten und Extrahieren relevanter Teile daraus.

Im Vergleich zu regulären Reittieren wie NFS oder SSHFS gibt es offensichtlich immer noch zwei Hauptkonstanten:

  • Der http-Server muss 'Bereiche' verarbeiten (die meisten Server können das)
  • Es ist schreibgeschützt!
Bylon
quelle