ไม่สามารถเมานต์ไดเรกทอรีระยะไกลโดยใช้ WebDAV


9

ฉันตั้งค่าเซิร์ฟเวอร์ด้วย Apache และ WebDAV โดยใช้บทช่วยสอนนี้

ฉันทดสอบการทำงานของ WebDAV โดยใช้ไคลเอนต์ Cyberduck และทำงานได้อย่างสมบูรณ์ ฉันสามารถอ่านและเขียนไปยังไดเรกทอรีระยะไกลโดยใช้รายละเอียดด้านล่าง

รายละเอียดที่ป้อนลงใน Cyberducks  การเชื่อมต่อประสบความสำเร็จ!

ดังนั้นฉันต้องการที่จะติดตั้งไดเรกทอรีนี้เป็นไดรฟ์ใน Windows 8 ซึ่งฉันเชื่อว่าควรจะเป็นไปได้โดยใช้ WebDAV ฉันคลิกขวาที่ "คอมพิวเตอร์" จากนั้นเลือก "แผนที่เครือข่ายไดรฟ์" แต่ยังไม่ชัดเจนว่าฉันควรป้อนข้อมูลข้างต้นอย่างไร

ฉันได้ลองเขียน URL ใหม่ทุกครั้งที่ฉันจินตนาการได้และลองใช้และไม่ใช้ "เชื่อมต่อโดยใช้ข้อมูลรับรองที่แตกต่างกัน"

มันเป็นเพียงแค่ว่าพยายามเชื่อมต่อแล้วถามหาข้อมูลประจำตัว (ถ้าฉันตรวจสอบว่าปิด) แล้วให้ข้อผิดพลาด "0x80070043 ไม่พบชื่อเครือข่าย"

ป้อนคำอธิบายรูปภาพที่นี่

เกิดอะไรขึ้น? ฉันจะเมานต์รีโมตไดเร็กทอรีโดยใช้ WebDAV ได้อย่างไรถ้าไม่เหมือนด้านบน?

คำตอบ:


8

ล่องเรืออย่างราบรื่นด้วย WebDAV - ไคลเอนต์ Microsoft และเซิร์ฟเวอร์ Apache

โดยค่าเริ่มต้น Windows 7 และอื่น ๆ จะจัดการกับ WebDAV ผ่านซ็อกเก็ตที่ปลอดภัย (SSL) เท่านั้น ทางออกที่ง่ายคือการรับและติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ของคุณ หลังจากนั้นการกำหนดค่าฝั่งเซิร์ฟเวอร์ของคุณอาจมีลักษณะเช่นนี้:

    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>

คำสั่ง AuthDigestDomain ควรแสดงรายการตำแหน่งทั้งหมดที่ได้รับการป้องกันโดย "davusers" realm ในไฟล์ davusers.digest มันบอกเบราว์เซอร์ไคลเอนต์เพื่อให้ผู้ใช้สามารถเข้าถึงตำแหน่งอื่นถ้าพวกเขาได้ให้การรับรองความถูกต้องสำหรับหนึ่งในนั้น

ทางฝั่งไคลเอ็นต์ Windows ให้แมป webdav แชร์โดยใช้ url นี้:

    https://www.myserver.com/webdav

หากคุณไม่ชอบความคิดที่จะจัดการกับ SSL คุณสามารถปิดข้อกำหนดนี้โดยใช้แฮ็ครีจิสทรีบนไคลเอนต์ Windows ใส่บรรทัดต่อไปนี้ในไฟล์ข้อความธรรมดา "ติดตั้ง - เปิดใช้งาน BasicWebdav.reg"

    Registry Editor Version 5.00

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

คลิกขวาที่ไฟล์และเลือก "ผสาน" คุณอาจต้องรีบูต หากคุณต้องการลบการเปลี่ยนแปลงนี้ให้สร้างไฟล์ข้อความธรรมดา "ลบ - เปิดใช้งาน BasicWebdav.reg" บันทึกบรรทัดเหล่านี้ภายใน:

    Registry Editor Version 5.00

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

การผสานที่จะทำให้ทุกอย่างกลับไปเป็นค่าเริ่มต้น

เมื่อคุณสามารถเมานต์แชร์ WebDAV ของคุณคุณจะถูกโจมตีโดยความรำคาญอื่น ทุกครั้งที่คุณลากไฟล์จากโฟลเดอร์ระยะไกลไปยังโฟลเดอร์ท้องถิ่นคุณจะได้รับคำเตือนอันตราย:

These files might be harmful to your computer

นี่เป็นตัวอย่างที่แท้จริงของเทคนิค "FUD" ที่มีชื่อเสียงของ Microsoft พวกเขาต้องการให้คนที่เชื่อมต่อกับเซิร์ฟเวอร์ Apache ได้สัมผัสกับ "ความไม่แน่นอนที่น่ากลัวและความสงสัย"

การแก้ไขปัญหานี้มีส่วนเกี่ยวข้องเล็กน้อยและมีคำแนะนำที่ขัดแย้งกันอยู่มากมายบนเว็บ ขั้นตอนแรกได้รับการตกลงกันโดยทั่วไป:

เริ่มต้นจาก Internet Explorer-> เครื่องมือหรือแผงควบคุมเลือก:

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.

แต่เส้นทางนี้มาจากไหน นี่คือเหตุผลที่มีคำแนะนำที่ขัดแย้งกันมากมายเกิดขึ้น: คุณต้องใช้พา ธ ที่แสดงในแถบชื่อเรื่องของหน้าต่าง Explorer หลังจากการเชื่อมต่อสำเร็จ สิ่งนี้จะแตกต่างกันไปขึ้นอยู่กับสิ่งที่นับไม่ได้

ตัวอย่างเช่นหากแถบหัวเรื่องแสดงสิ่งที่ต้องการ:

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

เส้นทางที่คุณเพิ่มไปยังโซนจะใช้เพียงส่วนของเซิร์ฟเวอร์ที่อยู่ในวงเล็บ:

\\www.mysite.com@SSL

ในกรณีของคุณชื่อเซิร์ฟเวอร์ในแถบไทล์อาจแสดงเป็นที่อยู่ IP หรืออาจไม่มี @SSL: เพียงป้อนสิ่งที่คุณเห็น กลับออกไปจากหน้าต่างการตั้งค่าและการจู้จี้จะหยุด

ครั้งต่อไปที่คุณเปิดหน้าต่างนี้เส้นทางจะมีลักษณะดังนี้:

    file://www.mysite.com@ssl

สิ่งนี้เห็นได้ชัดว่าเป็นรูปแบบที่ยอมรับได้ของ Windows

ในตัวอย่างด้านบนเราได้สร้างข้อยกเว้นใน "อินทราเน็ต" (LAN) ในพื้นที่ แต่คุณสามารถทำสิ่งเดียวกันสำหรับเซิร์ฟเวอร์ระยะไกลหากคุณรู้สึกกล้าหาญ

ในที่สุดและนี่เป็นสิ่งสำคัญการเข้าถึง WebDAV จาก Windows จะช้าอย่างบ้าคลั่ง (เหมือนในยุคน้ำแข็ง) หากคุณไม่ทำการปรับแต่งนี้:

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

หน้าต่างทุกรุ่นจำเป็นต้องมีชุดแฮ็กและแพตช์ใหม่เพื่อให้ WebDAV ทำงานได้ หนึ่งอาจได้รับการแสดงผลที่ Microsoft รู้สึกว่าถูกคุกคามโดยเทคโนโลยีนี้หรืออาจเป็นไปได้มากกว่านั้นเพียงต้องการที่จะเห็นมันทำงานกับเซิร์ฟเวอร์ของพวกเขา


ขอบคุณสำหรับคำตอบที่ละเอียดและละเอียดมาก "น่าเสียดาย" ฉันย้ายกลับไปพัฒนาบน Linux ส่วนใหญ่เป็นเพราะฉันไม่เคยพบวิธีที่ดีในการทำงานบนเซิร์ฟเวอร์ระยะไกลจาก Windows ฉันยังคงอนุมัติคำตอบของคุณโดยหวังว่าคุณจะถูกต้อง :)
Mads Skjern

คำตอบที่ยอดเยี่ยม @ hugh-sparks !!!
Paulo Coghi - Reinstate Monica

0

คำตอบโดย @ user2152363 นั้นดีมาก เพื่อความสมบูรณ์นี่เป็นทางเลือกสองทางที่คุณสามารถพิจารณาได้:

การสนับสนุนทั้งสองอย่างนี้เชื่อมต่อกับเซิร์ฟเวอร์ WebDAV แต่ฉันแนะนำให้ทดสอบก่อน ผู้พัฒนา Rclone บอกว่าตัวเลือกการเมานต์ของพวกเขากำลังทำการทดลองและจากประสบการณ์ของฉัน Mountain Duck ยังมีข้อบกพร่องอยู่บ้าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.