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


9

複数のリモートサーバーをマウントして、それらすべてに集中的にアクセスしたいマシンがあります。リモートのLinuxベースのシステムでは、正常に機能するSSHFSを使用しています。しかし、Windowsシステム、またはSSHのないシステムの場合、すべてのサーバーに何らかの形式のHTTPサーバーがインストールされ、ファイルを共有します(したがって、すべてのディレクトリの参照が有効になっています)。

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


1
誰かがこれをシミュレートするツールを書いたかもしれませんが、私はそれを疑っています。通常、HTTPサーバーが情報を提示する方法は、情報を提供しません。
goldilocks 2013年

上記のように。また、HTTPブラウジングはそれだけです-ブラウズして読み取り、アップロードをサポートしていません。フォルダーを共有してSMB / CIFSまたはFTPを介してマウントする方法を検討します。あるいは、WebDAVを見てください。IISの実装を見つけることができると思います。
Dave C

2
@goldilocksの誰かが10年以上前に標準にした。
ヨルダン2013年

生活し、学びます。:)
goldilocks 2013年

1
@DaveCまあ、通常、ディレクトリの参照はアップロードをサポートしていませんが、読み取り専用アクセスが必要だとは言えませんでした。HTTP自体はPUTメソッドを使用したアップロードをサポートしています。
jwbensley 2013年

回答:


8

これはWebDAVを使用して行うことができます。これは、IISやApacheを含むほとんどのWebサーバーでサポートされているHTTP拡張です。WebDAVは、davfs2FUSEモジュールを介してLinuxにマウントできます。


1
davfs2...またはfusedavor avfsまたはgvfs(Gnome / Nautilus)少なくとも。
ステファンChazelas

5

プレーンHTTPの問題は、コンテンツを取得するためだけのものであるということです。フォルダーまたはファイルリストの概念はありません。

一部のWebサーバーでは、ディレクトリのファイルへのリンクを含むHTMLページを生成して、ディレクトリ構造を参照できます。そして、少なくとものようなものlftpは、これらのインデックスが生成される一般的な形式のいくつかを解析でき、それがファイル転送プロトコルであるという印象を与えますが、実際にはそうではありません。方法でlftp行うインデックスの解析。

DAVはそれを行うだけの拡張機能であり、すでにヨルダンの回答でカバーされています。

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

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

またsshd、Windowsマシンに(cygwin経由で)またはDAVを使用したFTPまたはApacheをインストールできるので、Unixマシンで行うのと同じことができるはずです。


HTTP URLのパス部分は、ルートの下のディレクトリ構造に対応すると見なされませんか?また、ファイルではなくディレクトリで終わるURLをリクエストすると、多くのWebサーバーがファイルリストを提供します。次に、これら2つの概念の両方を、HTTPサーバーをファイルシステムとしてマウントするこのモデルに変換できます。今、限り、このようなAへの投稿の変更はマウントとして、私はそれについておそらくいくつかのWebサーバはあまりFTPのようにそれを行うように構成することができません確信している
amphibient

@amphibient、はい、あなたがa file listingと呼ぶものは、私がと呼ぶものですgenerated HTML page with links to file。それでも解析する必要があり、それらのページのフォーマットに関する標準はありません。Apacheだけでも、さまざまな方法で調整できるインデックスを生成するモジュールがいくつかあります。したがって、絶対確実な解決策はありません。私が言ったようにlftp、それはそれらのリストページの多くを解析しようとします
ステファンChazelas

1

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

あなたの質問はかなり古く、あなたはそうしなかったかもしれませんが、私は最近、URLの「ツリー」を与える小さなスクリプトを書くという条件で、必要なことを正確に実行するfuseファイルシステムを書きました。

それがあります:https : //gitlab.com/BylonAkila/astreamfs

プロバイダー1fichierのサンプルスクリプトがあり、これを自分の個人サーバーに適合させることができます。スクリプトが行うことは、astreamfsのすべての引数を準備することだけなので、マウントはすべてのファイルとフォルダーを正しい場所に表示します。これは、有名な「ウェブスクレイピング」技術、別名HTMLページを読み取り、そこから関連する部分を抽出することで行われます。

NFSやSSHFSのような通常のマウントと比較して、明らかに2つの主要な制約があります。

  • httpサーバーは「範囲」を処理する必要があります(ほとんどのサーバーはこれを行うことができます)
  • 読み取り専用です!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.