Gắn máy chủ HTTP làm hệ thống tệp


9

Tôi có một máy mà tôi muốn gắn nhiều máy chủ từ xa để truy cập tất cả chúng một cách tập trung. Đối với các hệ thống dựa trên Linux từ xa, tôi đang sử dụng SSHFS hoạt động tốt. Nhưng đối với các hệ thống Windows hoặc các hệ thống không có SSH, tất cả chúng đều có một số dạng máy chủ HTTP được cài đặt chia sẻ các tệp (vì vậy tất cả chúng đều có chức năng duyệt thư mục).

Tôi có thể gắn máy chủ HTTP làm hệ thống tệp cục bộ như SSHFS không, vì vậy tôi có thể có tất cả các máy chủ từ xa này được gắn cục bộ và được trình bày một cách thống nhất không?


1
Ai đó ngoài kia có thể đã viết một công cụ để mô phỏng điều này nhưng tôi nghi ngờ nó. Cách mà các máy chủ HTTP thường trình bày thông tin không có lợi cho nó.
goldilocks

Như trên. Ngoài ra, trình duyệt HTTP chỉ có thế - nó duyệt và đọc, không hỗ trợ tải lên. Tôi sẽ xem xét việc chia sẻ (các) thư mục để gắn kết thông qua SMB / CIFS hoặc FTP. Hoặc nhìn vào WebDAV và tôi chắc chắn bạn có thể tìm thấy triển khai IIS.
Dave C

2
@goldilocks ai đó ngoài kia đã biến nó thành một tiêu chuẩn tốt hơn 10 năm trước.
jordanm

Sống và học hỏi. :)
goldilocks

1
@DaveC Thông thường, việc duyệt thư mục không hỗ trợ tải lên, tuy nhiên tôi không đề cập đến việc tôi muốn truy cập chỉ đọc. Mặc dù HTTP tự hỗ trợ tải lên bằng phương pháp PUT.
jwbensley

Câu trả lời:


8

Bạn có thể làm điều này bằng cách sử dụng WebDAV . Đây là một phần mở rộng HTTP được hầu hết các máy chủ web hỗ trợ, bao gồm IIS và Apache. WebDAV có thể được gắn trong linux thông qua davfs2mô-đun FUSE.


1
davfs2... Hoặc fusedavhoặc avfshoặc gvfs(Gnome / Nautilus) ít nhất.
Stéphane Chazelas

5

Vấn đề với HTTP đơn giản là nó chỉ để lấy nội dung. Không có khái niệm về thư mục hoặc danh sách tập tin.

Một số máy chủ web cho phép bạn duyệt cấu trúc thư mục bằng cách tạo các trang HTML đẹp có liên kết đến tệp cho thư mục. Và ít nhất những thứ như lftpcó thể phân tích một số định dạng phổ biến mà các chỉ mục được tạo ra và cho bạn cảm giác rằng đó là một giao thức truyền tệp, nhưng thực sự không phải vậy, và tôi không biết bất kỳ hệ thống tệp cầu chì nào có thể phân tích chỉ mục theo cách lftpnào.

DAV là một phần mở rộng chỉ thực hiện điều đó và đã được bao phủ bởi câu trả lời của jordanm.

Nhưng lưu ý rằng nếu bạn không cần liệt kê các thư mục, avfsít nhất có thể cho phép bạn truy cập các trang web qua hệ thống tệp.

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

Bây giờ cũng lưu ý rằng bạn có thể cài đặt sshd(thông qua cygwin) hoặc FTP hoặc Apache với DAV trên máy Windows, vì vậy bạn sẽ có thể thực hiện những điều tương tự như bạn làm trên máy Unix.


phần đường dẫn của URL HTTP có được coi là tương ứng với cấu trúc thư mục trong thư mục gốc không? Ngoài ra, nhiều máy chủ web cung cấp danh sách tệp nếu bạn yêu cầu URL kết thúc bằng một thư mục, không phải tệp. và sau đó cả hai khái niệm này có thể được dịch sang mô hình gắn máy chủ HTTP này dưới dạng một hệ thống tệp. Bây giờ, khi đăng các thay đổi lên một mount như vậy, tôi không chắc về điều đó nhưng có lẽ một số máy chủ web có thể được cấu hình để làm điều đó giống như FTP
amphibient

@amphibient, vâng, cái bạn gọi file listinglà cái tôi gọi là a generated HTML page with links to file. Nó vẫn cần được phân tích cú pháp và không có tiêu chuẩn về định dạng của các trang đó. Chỉ riêng trên Apache, có một số mô-đun tạo ra các chỉ mục có thể được điều chỉnh theo nhiều cách khác nhau. Vì vậy, không có giải pháp hoàn hảo. Như tôi đã nói thấy lftprằng cố gắng phân tích nhiều trang liệt kê .
Stéphane Chazelas

1

vấn đề chính đã được đề cập ở trên là: danh sách thư mục / cây.

Mặc dù câu hỏi của bạn khá cũ và bạn có thể đã làm khác, gần đây tôi đã viết một hệ thống tập tin cầu chì thực hiện chính xác những gì bạn cần, miễn là bạn viết một đoạn script nhỏ để cung cấp cho nó "cây" URL.

Nó đây rồi: https://gitlab.com/BylonAkila/astreamfs

Bạn có một kịch bản ví dụ cho nhà cung cấp 1fichier, bạn có thể điều chỉnh máy chủ cá nhân của mình. Những gì tập lệnh thực hiện chỉ là chuẩn bị tất cả các đối số cho auxfs, để mount sẽ hiển thị tất cả các tệp và thư mục của bạn ở đúng nơi. Nó làm như vậy với kỹ thuật "quét web" nổi tiếng, hay còn gọi là đọc các trang HTML và trích xuất các phần có liên quan từ đó.

Rõ ràng vẫn còn hai yếu tố chính, so với các thú cưỡi thông thường như NFS hoặc SSHFS:

  • Máy chủ http cần xử lý 'phạm vi' (hầu hết các máy chủ có thể làm điều đó)
  • Nó chỉ đọc!
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.