HTTPサーバーをファイルシステムとしてマウントする

HTTPサーバーをファイルシステムとしてマウントする

中央からアクセスするために複数のリモートサーバーをインストールしたいコンピュータがあります。 Linuxベースのリモートシステムでは、SSHFSの使用にはうまく機能します。ただし、WindowsシステムまたはSSHを持たないシステムの場合は、すべてのファイルを共有するためにHTTPサーバーの種類がインストールされています(すべてディレクトリ検索が有効になっています)。

これらすべてのリモートサーバーをローカルにマウントし、統合された方法で表示できるように、HTTPサーバーをローカルファイルシステム(SSHFSなど)としてマウントできますか?

答え1

以下を使用してこれを実行できます。ネットワークDAV。これは、IISやApacheを含むほとんどのWebサーバーでサポートされているHTTP拡張です。 WebDAVはFUSEモジュールを介してLinuxにインストールできますdavfs2

答え2

一般的なHTTPの問題は、コンテンツの検索にのみ使用されることです。フォルダやファイルリストの概念はありません。

一部のWebサーバーでは、ディレクトリファイルへのリンクを含む美しいHTMLページを作成してディレクトリ構造を参照できます。少なくともこれは、lftpこれらのインデックスによって生成されたいくつかの共通形式を解析し、ファイル転送プロトコルという印象を与える可能性がありますが、そうではなく、インデックスを解析できるヒューズファイルシステムを知りません。lftp

DAVはこれを可能にする拡張子であり、すでにjordanmの回答に含まれています。

ただし、ディレクトリを一覧表示する必要がない場合は、少なくともavfsファイルシステムを介してWebページにアクセスできることに注意してください。

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

Windowsシステムに(cygwin経由で)FTPまたはDAVを含むApacheをインストールすることもでき、sshdUnixシステムと同じことができます。

答え3

上記ですでに説明した主な問題は、ディレクトリ/ツリーのリストです。

あなたの質問は古く、すでにこれを行っている可能性がありますが、URLの「ツリー」を提供する小さなスクリプトを書くだけで、必要な作業を正確に実行する崩壊ファイルシステムを最近作成しました。

そこは:https://gitlab.com/BylonAkila/astreamfs

自分のプライベートサーバーに適用できるプロバイダ1fichierのサンプルスクリプトがあります。このスクリプトが行うことは、マウントが正しい場所にすべてのファイルとフォルダを表示するように、astreamfsのすべてのパラメータを準備することです。 HTMLページを読み、関連部分を抽出する(悪名高い)「Webスクレイピング」技術を使用してこれを行います。

明らかに、NFSやSSHFSなどの一般的なマウントと比較して、まだ2つの主な制限があります。

  • httpサーバーは「範囲」を処理する必要があります(ほとんどのサーバーがこれを実行できます)。
  • 読み取り専用です!

関連情報