HTTP 서버를 파일 시스템으로 마운트

HTTP 서버를 파일 시스템으로 마운트

중앙에서 액세스하기 위해 여러 원격 서버를 설치하고 싶은 컴퓨터가 있습니다. Linux 기반 원격 시스템의 경우 SSHFS를 사용하는데 잘 작동합니다. 그러나 Windows 시스템이나 SSH가 없는 시스템의 경우 모두 파일을 공유하기 위해 일종의 HTTP 서버가 설치되어 있습니다(따라서 모두 디렉토리 검색이 활성화되어 있습니다).

이러한 모든 원격 서버를 로컬에 마운트하고 통합된 방식으로 표시할 수 있도록 HTTP 서버를 로컬 파일 시스템(예: SSHFS)으로 마운트할 수 있습니까?

답변1

다음을 사용하여 이 작업을 수행할 수 있습니다.네트워크 DAV. 이는 IIS 및 Apache를 포함한 대부분의 웹 서버에서 지원되는 HTTP 확장입니다. WebDAV는 FUSE 모듈을 통해 Linux에 설치할 수 있습니다 davfs2.

답변2

일반 HTTP의 문제점은 콘텐츠를 검색하는 데만 사용된다는 것입니다. 폴더나 파일 목록의 개념이 없습니다.

일부 웹 서버에서는 디렉토리 파일에 대한 링크가 포함된 아름다운 HTML 페이지를 생성하여 디렉토리 구조를 탐색할 수 있습니다. 적어도 이와 같은 것은 lftp이러한 인덱스에 의해 생성된 일부 공통 형식을 구문 분석하고 파일 전송 프로토콜이라는 인상을 줄 수 있지만 그렇지 않으며 인덱스를 구문 분석할 수 있는 퓨즈 파일 시스템을 알지 못합니다. lftp.

DAV는 이를 수행할 수 있는 확장 프로그램이며 이미 jordanm의 답변에 포함되어 있습니다.

그러나 디렉토리를 나열할 필요가 없다면 avfs최소한 파일 시스템을 통해 웹 페이지에 액세스할 수 있다는 점에 유의하십시오.

$ 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 페이지를 읽고 관련 부분을 추출하는 (악명 높은) "웹 스크래핑" 기술을 사용하여 이를 수행합니다.

분명히 NFS 또는 SSHFS와 같은 일반 마운트와 비교할 때 여전히 두 가지 주요 제한 사항이 있습니다.

  • http 서버는 "범위"를 처리해야 합니다(대부분의 서버가 이를 수행할 수 있음).
  • 읽기 전용입니다!

관련 정보