Không thể gắn thư mục từ xa bằng WebDAV


9

Tôi đã thiết lập một máy chủ với Apache và WebDAV, sử dụng hướng dẫn này .

Tôi đã thử nghiệm chức năng WebDAV bằng ứng dụng khách Cyberduck và nó hoạt động hoàn hảo. Tôi có thể vừa đọc và ghi vào thư mục từ xa bằng cách sử dụng các chi tiết bên dưới.

Thông tin chi tiết được nhập vào Cyberducks.  Kết nối thành công!

Vì vậy, tôi muốn gắn thư mục này như một ổ đĩa trong Windows 8, mà tôi tin rằng có thể sử dụng WebDAV. Tôi nhấp chuột phải vào "Máy tính", sau đó chọn "Bản đồ ổ đĩa mạng". Nhưng không rõ làm thế nào tôi nên nhập dữ liệu trên.

Tôi đã thử viết lại URL theo tất cả các cách tôi có thể tưởng tượng và đã thử và không có "Kết nối bằng các thông tin đăng nhập khác nhau".

Nó luôn chỉ nói cố gắng kết nối, sau đó yêu cầu thông tin đăng nhập (nếu tôi đã kiểm tra tắt), sau đó đưa ra lỗi "0x80070043 Không thể tìm thấy tên mạng."

nhập mô tả hình ảnh ở đây

Chuyện gì thế? Làm cách nào để gắn thư mục từ xa bằng WebDAV, nếu không như trên?

Câu trả lời:


8

Đi thuyền mượt mà với WebDAV - Máy khách Microsoft và Máy chủ Apache

Theo mặc định, Windows 7 trở lên sẽ chỉ xử lý WebDAV qua các ổ cắm an toàn (SSL). Cách dễ dàng là lấy và cài đặt chứng chỉ SSL trên máy chủ của bạn. Sau đó, cấu hình phía máy chủ của bạn có thể trông như thế này:

    Alias /webdav  /var/www/webdav

    <Directory /var/www/webdav>
            DAV on
            Satisfy all
            Order allow,deny
            Allow from all
            ForceType application/octet-stream
            AuthType Digest
            AuthName "davusers"
            AuthDigestDomain /webdav /geep /foop /goop
            AuthUserFile davusers.digest
            Require valid-user
            SSLRequireSSL
            Options Indexes
    </Directory>

Lệnh AuthDigestDomain sẽ liệt kê tất cả các vị trí được bảo vệ bởi vương quốc "davusers" trong tệp davusers.digest. Nó báo cho trình duyệt máy khách cho phép người dùng truy cập vào các vị trí khác nếu họ đã cung cấp xác thực cho một trong số họ.

Về phía máy khách Windows, ánh xạ chia sẻ webdav bằng url này:

    https://www.myserver.com/webdav

Nếu bạn thực sự ghét ý tưởng xử lý SSL, bạn có thể tắt yêu cầu này bằng cách sử dụng hack registry trên máy khách Windows. Đặt các dòng sau vào một tệp văn bản đơn giản "Cài đặt - Bật BasicWebdav.reg"

    Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters]
    "BasicAuthLevel"=dword:00000002

Nhấp chuột phải vào tệp và chọn "Hợp nhất". Bạn có thể cần phải khởi động lại. Nếu bạn muốn xóa thay đổi này, hãy tạo một tệp văn bản đơn giản "Xóa - Bật BasicWebdav.reg" Lưu các dòng này vào bên trong:

    Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters]
    "BasicAuthLevel"=dword:00000001

Hợp nhất sẽ đưa mọi thứ trở về giá trị mặc định.

Khi bạn có thể gắn kết chia sẻ WebDAV của mình, bạn sẽ bị tấn công bởi một sự phiền toái khác. Mỗi khi bạn kéo tệp từ thư mục từ xa sang thư mục cục bộ, bạn sẽ nhận được cảnh báo đe dọa:

These files might be harmful to your computer

Đây là một ví dụ thuần túy về kỹ thuật "FUD" nổi tiếng của Microsoft. Họ muốn những người kết nối với máy chủ Apache trải nghiệm "Sợ không chắc chắn và nghi ngờ".

Bản sửa lỗi này có một chút liên quan và rất nhiều lời khuyên mâu thuẫn tồn tại trên web. Bước đầu tiên thường được đồng ý:

Bắt đầu từ Internet Explorer-> Công cụ hoặc Bảng điều khiển, chọn:

Internet Options -> Security -> Local intranet

Allowed levels for this zone:

    Move the slider to: Low

Sites -> Advanced:

    Add the path to the remote webdav server.

Nhưng con đường này đến từ đâu? Đây là lý do rất nhiều lời khuyên mâu thuẫn xảy ra: Bạn phải sử dụng đường dẫn hiển thị trong thanh tiêu đề cửa sổ Explorer sau khi kết nối thành công. Điều này sẽ thay đổi tùy thuộc vào hàng tá những điều không thể suy nghĩ.

Ví dụ: nếu thanh tiêu đề hiển thị một cái gì đó như:

Computer webdav (\\www.mysite.com@SSL\DavWWWRoot) (X:)

Đường dẫn bạn thêm vào vùng sẽ là, chỉ sử dụng phần máy chủ bên trong dấu ngoặc đơn:

\\www.mysite.com@SSL

Trong trường hợp của bạn, tên máy chủ trong thanh gạch có thể được hiển thị dưới dạng địa chỉ IP hoặc có thể không có @SSL: Chỉ cần nhập những gì bạn thấy. Thoát ra khỏi các cửa sổ cấu hình và cằn nhằn sẽ dừng lại.

Lần sau khi bạn mở cửa sổ này, đường dẫn sẽ như thế này:

    file://www.mysite.com@ssl

Rõ ràng, đây là hình thức chính tắc mà Windows thích.

Trong ví dụ trên, chúng tôi đã tạo một ngoại lệ trên "mạng nội bộ" (LAN) cục bộ, nhưng bạn có thể làm điều tương tự cho các máy chủ từ xa nếu bạn cảm thấy táo bạo.

Cuối cùng, và điều này rất quan trọng, truy cập WebDAV từ Windows sẽ cực kỳ chậm (như trong băng hà) nếu bạn không thực hiện điều chỉnh này:

Internet Explorer->Tools->Internet Options
Select the "Connections" tab.
Press the "LAN Settings" button.
UNCHECK: "automatically detect settings"

Mỗi phiên bản windows đều yêu cầu một bộ hack và bản vá mới để WebDAV hoạt động. Người ta có thể có ấn tượng rằng Microsoft cảm thấy bị đe dọa bởi công nghệ này hoặc, có lẽ nhiều khả năng, chỉ muốn thấy nó hoạt động với máy chủ của họ.


Cảm ơn câu trả lời rất chi tiết và kỹ lưỡng. "Thật không may", tôi đã quay trở lại phát triển trên Linux, chủ yếu là vì tôi chưa bao giờ tìm thấy một cách tốt để làm việc trên các máy chủ từ xa từ Windows. Tôi vẫn chấp thuận câu trả lời của bạn, hy vọng bạn đúng :)
Mads Skjern

Câu trả lời tuyệt vời, @ hugh-sparks !!!
Paulo Coghi - Phục hồi Monica

0

Câu trả lời của @ user2152363 là rất tốt. Để hoàn thiện, đây là hai giải pháp thay thế bạn có thể xem xét:

  • Vịt núi , từ những người giống như Cyberduck;
  • Rclone , một chương trình giống như Rsync hỗ trợ WebDAV.

Cả hai đều hỗ trợ gắn máy chủ WebDAV. Nhưng tôi khuyên bạn nên kiểm tra chúng trước; Các nhà phát triển Rclone nói rằng tùy chọn gắn kết của họ là thử nghiệm và theo kinh nghiệm của tôi, Mountain Duck vẫn còn một số lỗi.

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.