相關(guān)軟件
windows自帶
- IIS webdav
- windows自帶的服務(wù),啟用相關(guān)功能后還要進(jìn)行一系列的配置
- 而且在WebDav客戶端上傳到站點(diǎn)的文件大小存在限制問(wèn)題
- 總體體驗(yàn)并不好,因此推薦第三方專業(yè)軟件,靈活而且易于配置
第三方軟件
-
CuteHttpFileServer | iscute.cn??
- 提供了windos端的命令行程序和圖形界面程序,輕量而且易于配置
-
GitHub - hacdias/webdav: Simple Go WebDAV server.
- 專門設(shè)計(jì)支持WebDav的命令行程序(可能停更了)
-
Caddy - The Ultimate Server with Automatic HTTPS (caddyserver.com)
- candy+webdav:Module http.handlers.webdav - Caddy Documentation (caddyserver.com)
chfs(CuteHttpFileServer)
- 本文介紹chfs的用法,該軟件比較簡(jiǎn)單易用,輕量靈活(免費(fèi))
- 幾乎不用配置防火墻和共享站點(diǎn)的根目錄的權(quán)限控制
- 同時(shí)給出http和webdav的鏈接,用瀏覽器就可以進(jìn)行webdav傳輸,享受webDav的優(yōu)點(diǎn)
- 瀏覽器所有設(shè)備幾乎都有,因此可以不下在專門的客戶端
下載軟件
- 根據(jù)上述提供的官網(wǎng),下載可執(zhí)行文件
- 如果是計(jì)算機(jī)老手,可以考慮用命令行,更加輕量
- 如果圖方便或者是電腦新手,用GUI也是極好的(及其簡(jiǎn)單,可以將軟件語(yǔ)言切換為中文,可以快速配置)
- 復(fù)雜配置也建議用GUI比較方便
- 官網(wǎng)同時(shí)就是使用文檔和使用說(shuō)明書
GUI方案
-
支持語(yǔ)言切換和配置導(dǎo)出 -
軟件啟動(dòng):配置完成后,點(diǎn)擊左上角的按鈕切換服務(wù)啟動(dòng)或關(guān)閉狀態(tài)
-
右上角可以切換語(yǔ)言和配置導(dǎo)出,觀察操作日志
-
至此就可以實(shí)現(xiàn)方便的局域網(wǎng)內(nèi)傳輸
補(bǔ)充
命令行方案
- 這里假設(shè)用戶有命令行使用經(jīng)驗(yàn)
- windows比如cmd或者powershell都可以
- 這里我用powershell
命令行程序定位
-
找到下載好的命令行可執(zhí)行文件,比如D:\exes\chfs-windows-x64-3.1\chfs-windows-x64-3.1.exe
-
復(fù)制其所在目錄,在命令行中定位到可執(zhí)行文件
-
PS D:\exes\chfs-windows-x64-3.1> rvpa .\chfs-windows-x64-3.1.exe Path ---- D:\exes\chfs-windows-x64-3.1\chfs-windows-x64-3.1.exe PS D:\exes\chfs-windows-x64-3.1> sal chfs (rvpa .\chfs-windows-x64-3.1.exe)
-
這里我為文件chfs-windows-x64-3.1.exe起了個(gè)別名,方便后面引用該程序
sal chfs (rvpa .\chfs-windows-x64-3.1.exe)
- 也可以直接修改可執(zhí)行文件的名字(或者配置別名到shell的配置文件中,今后在命令行任意位置都可以訪問(wèn)到該程序)
-
檢查文檔:
chfs --help
-
PS D:\exes\chfs-windows-x64-3.1> chfs --help Usage of D:\exes\chfs-windows-x64-3.1\chfs-windows-x64-3.1.exe: -file string Configuration file. -path string Shared directories, separated by '|'. (default ".") -port uint HTTP listening port. (default 80) -version Print version.
-
簡(jiǎn)單創(chuàng)建服務(wù)站點(diǎn)
-
例如:
chfs -path D:\1WebDav\ -port 8084
- 該命令指出,將目錄
D:\1WebDav
作為共享站點(diǎn)根目錄,端口設(shè)置為8084
(能用就行,不能用時(shí)(和其他服務(wù)沖突時(shí)),稍微改改數(shù)值)
- 該命令指出,將目錄
-
PS D:\exes\chfs-windows-x64-3.1> chfs -path D:\1WebDav\ -port 8084 ************************************************** CUTE HTTP FILE SERVER 3.1 Homepage: http://chfs.iscute.cn Author: docblue@163.com ************************************************** Shared path: D:\1WEBDAV Listening port: 8084 Websites: http://192.168.1.46:8084 Webdav URLs: http://192.168.1.46:8084/webdav
使用配置文件配置細(xì)節(jié)
-
有時(shí)WebDav客戶端(軟件)需要使用用戶名密碼登錄才可訪問(wèn)站點(diǎn),這時(shí)我們要用配置文件配置更多細(xì)節(jié)
-
考慮到可維護(hù)性,建議從官網(wǎng)下載模板,然后根據(jù)模板內(nèi)的注釋說(shuō)明配置需要的條目即可
- iscute.cn/asset/chfs.ini
- 您可以打開(kāi)這個(gè)模板鏈接,復(fù)制全部?jī)?nèi)容,然后在找得到的地方(推薦在chfs所在目錄下創(chuàng)建文件
chfs.ini
) - 將模板內(nèi)容粘貼到該文件,根據(jù)需要進(jìn)行配置,樣例放在末尾
-
根據(jù)配置文件,啟動(dòng)服務(wù)
-
chfs -file chfs.init
(文件名替換為你配置文件目錄,如果在當(dāng)前目錄,則輸入文件名即可)
-
-
PS D:\exes\chfs-windows-x64-3.1> chfs -file .\chfs.ini ************************************************** CUTE HTTP FILE SERVER 3.1 Homepage: http://chfs.iscute.cn Author: docblue@163.com ************************************************** Shared path: D:\MINGW64 Listening port: 8084 Config file: .\chfs.ini Websites: http://192.168.1.46:8084 Webdav URLs: http://192.168.1.46:8084/webdav 2024-01-09 10:30:32 - 192.168.1.46 - user(tester) download '/33.txt' 2024-01-09 10:30:41 - 192.168.1.46 - user(tester) download '/33.txt' 2024-01-09 10:30:50 - 192.168.1.46 - user(tester) update text file:'33.txt'
使用軟連接或符號(hào)鏈接等手段將向共享站點(diǎn)的根目錄添加文件
-
如果將文件復(fù)制到共享站點(diǎn)根目錄,可能會(huì)產(chǎn)生重復(fù)文件,造成資源浪費(fèi)
-
可以考慮用軟連接等方法盡可能減少對(duì)其他文件的影響
- powershell和bash在各自平臺(tái)上都可以創(chuàng)建類似的符號(hào)
-
另外chfs支持添加不同目錄到分享站點(diǎn)
-
將兩個(gè)(或更多)獨(dú)立文件夾添加到分享站點(diǎn) -
這個(gè)操作對(duì)http有效,但是webdav仍然只顯示一個(gè)首個(gè)目錄
-
開(kāi)機(jī)自啟
- 如果您只是偶爾使用(局域網(wǎng)文件傳輸),那么不建議開(kāi)機(jī)自啟
- 如果經(jīng)常使用,則建議開(kāi)啟開(kāi)機(jī)自啟
- GUI軟件勾選開(kāi)機(jī)自啟以及隨軟件啟動(dòng)運(yùn)行
- 如果是命令行版本,可以用nssm包裝成服務(wù),這樣開(kāi)機(jī)就會(huì)自動(dòng)運(yùn)行
服務(wù)包裝
nssm包裝
-
命令行版可以用nssm包裝成服務(wù)運(yùn)行(支持老的windows系統(tǒng))
-
將nssm配置到環(huán)境變量,或者配置別名
-
執(zhí)行
nssm install chfs_service
,表示要安裝(包裝)一個(gè)名為chfs_service
的可執(zhí)行程序 -
名字可以自行指定,關(guān)鍵是路徑和參數(shù)(啟動(dòng)方式默認(rèn)即可(自動(dòng)(Automatic)))
-
填寫完后點(diǎn)擊安裝
-
輸入?yún)?shù)和命令行執(zhí)行時(shí)添加的參數(shù)一樣(可以是配置文件,配置參數(shù)也可以是直接寫明在參數(shù)字符串中)
使用powershell包裝
-
New-Service (Microsoft.PowerShell.Management) - PowerShell | Microsoft Learn
- 參考文檔給出了操作方法
- 這里我們沒(méi)有成功啟動(dòng)
服務(wù)啟動(dòng)
- 重啟計(jì)算機(jī)檢查效果(會(huì)自動(dòng)啟動(dòng)服務(wù))
- 或者直接打開(kāi)
service.msc
,找到剛才創(chuàng)建的服務(wù),直接在面板中啟動(dòng) - 或者管理員權(quán)限,命令行中用nssm啟動(dòng):
nssm start chfs_service
chfs服務(wù)@檢查服務(wù)運(yùn)行情況
-
重啟后相關(guān)服務(wù)會(huì)自行啟動(dòng) -
使用powershell檢查
-
PS C:\Users\cxxu\Desktop> Get-CimInstance -ClassName Win32_Service -Filter "Name='chfs_service'" ProcessId Name StartMode State Status ExitCode --------- ---- --------- ----- ------ -------- 0 chfs_service Auto Stopped OK 0
-
或者
PS C:\Users\cxxu\Desktop> gsv chfs* Status Name DisplayName ------ ---- ----------- Running chfs_service chfs_service PS C:\Users\cxxu\Desktop> gsv chfs_service |select * UserName : LocalSystem Description : DelayedAutoStart : False BinaryPathName : D:\exes\nssm\nssm.exe StartupType : Automatic Name : chfs_service RequiredServices : {} CanPauseAndContinue : False CanShutdown : True CanStop : True DisplayName : chfs_service DependentServices : {} MachineName : . ServiceName : chfs_service ServicesDependedOn : {} StartType : Automatic ServiceHandle : Status : Running ServiceType : Win32OwnProcess Site : Container :
-
效果
- 瀏覽器端支持上傳下載刪除搜索文件等操作,通常別人要發(fā)文件給你或者你要發(fā)文件給別人,都可以讓對(duì)方打開(kāi)瀏覽器輸入你的ip和端口,進(jìn)行基本的訪問(wèn)和傳輸操作
- 至于webDav鏈接需要配置一些東西,給自己使用為主,例如手機(jī)上安裝cx file explorer,將計(jì)算機(jī)掛載到手機(jī)上
- 無(wú)論是哪種協(xié)議,都可以在線點(diǎn)播常見(jiàn)格式的視頻,音頻或則編輯文本
![]() |
可以修改文本文件或重命名 | |
![]() |
局域網(wǎng)內(nèi)掛在webdav 如果是本機(jī)的WebDav協(xié)議,可以用localhost來(lái)代指具體的ip 如果要和局域網(wǎng)內(nèi)的其他人共享,那么其他windows設(shè)備就不是用localhost,而是用服務(wù)器(本機(jī))的ip了 |
|
附:模板配置
-
#--------------------------------------- # 請(qǐng)注意: # 1,如果不存在鍵或?qū)?yīng)值為空,則不影響對(duì)應(yīng)的配置 # 2,配置項(xiàng)的值,語(yǔ)法如同其對(duì)應(yīng)的命令行參數(shù) #--------------------------------------- # 監(jiān)聽(tīng)端口 port=8084 # 共享根目錄,通過(guò)字符'|'進(jìn)行分割 # 注意: # 1,帶空格的目錄須用引號(hào)包住,如 path="c:\a uply name\folder" # 2,可配置多個(gè)path,分別對(duì)應(yīng)不同的目錄 path=D:\share path=C:\Users\cxxu #path="D:\MinGW64" # IP地址過(guò)濾 allow= # 用戶操作日志存放目錄,默認(rèn)為空 # 如果賦值為空,表示禁用日志 log=D:\exes\chfs_home\log # 網(wǎng)頁(yè)標(biāo)題 html.title=chfs創(chuàng)建的文件中心站點(diǎn)@由配置文件控制細(xì)節(jié) # 網(wǎng)頁(yè)頂部的公告板??梢允俏淖?,也可以是HTML標(biāo)簽,此時(shí),需要適用一對(duì)``(反單引號(hào),通過(guò)鍵盤左上角的ESC鍵下面的那個(gè)鍵輸出)來(lái)包住所有HTML標(biāo)簽。幾個(gè)例子: # 1,html.notice=內(nèi)部資料,請(qǐng)勿傳播 # 2,html.notice=`<img src="https://mat1.gtimg.com/pingjs/ext2020/qqindex2018/dist/img/qq_logo_2x.png" width="100%"/>` # 3,html.notice=`<div style="background:black;color:white"><p>目錄說(shuō)明:</p><ul>一期工程:一期工程資料目錄</ul><ul>二期工程:二期工程資料目錄</ul></div>` html.notice= # 是否啟用圖片預(yù)覽(網(wǎng)頁(yè)中顯示圖片文件的縮略圖),true表示開(kāi)啟,false為關(guān)閉。默認(rèn)關(guān)閉 image.preview=true # 下載目錄策略。disable:禁用; leaf:僅限葉子目錄的下載; enable或其他值:不進(jìn)行限制。 # 默認(rèn)值為 enable folder.download= #-------------- 設(shè)置生效后啟用HTTPS,注意監(jiān)聽(tīng)端口設(shè)置為443------------- # 指定certificate文件 ssl.cert= # 指定private key文件 ssl.key= # 設(shè)置會(huì)話的生命周期,單位:分鐘,默認(rèn)為30分鐘 session.timeout= # 文件/目錄刪除模式: # 1: 安全刪除:移動(dòng)到系統(tǒng)回收站 [不是所有操作系統(tǒng)都支持,建議使用前進(jìn)行測(cè)試。默認(rèn)模式] # 2: 安全刪除:移動(dòng)到chfs的專屬回收站: ~/.chfs_trashbin, 程序會(huì)刪除存儲(chǔ)超過(guò)1個(gè)月的文件 # 3: 真正刪除 file.remove=1 #----------------- ------------------------ # 注意: 賬戶配置區(qū)域放置到配置文件的后面 #------------------------------------------ #----------------- 賬戶及控制規(guī)則 ------------------- # [xxx] xxx即為賬戶名, 訪客的用戶名為guest # password 賬戶密碼 # rule.default 賬戶對(duì)所有的目錄和文件的訪問(wèn)權(quán)限,但可以針對(duì)任意子目錄進(jìn)行重新設(shè)定訪問(wèn)權(quán)限,以覆蓋默認(rèn)的權(quán)限(設(shè)置成d,表示最高權(quán)限(讀,寫,刪除)) # rule.none 表示對(duì)哪些子目錄設(shè)置為不可訪問(wèn)的權(quán)限,多個(gè)目錄使用字符'|'分割,也可以分為多行。注意:該子目錄本身也不可訪問(wèn)! # rule.r 表示對(duì)哪些子目錄設(shè)置為讀權(quán)限,多個(gè)目錄使用字符'|'分割,也可以分為多行。注意: 該子目錄本身不受影響,影響的只是它所包含的目錄和文件! # rule.w 表示對(duì)哪些子目錄設(shè)置為寫權(quán)限,多個(gè)目錄使用字符'|'分割,也可以分為多行。注意: 該子目錄本身不受影響,影響的只是它所包含的目錄和文件! # rule.d 表示對(duì)哪些子目錄設(shè)置為最高訪問(wèn)權(quán)限,多個(gè)目錄使用字符'|'分割,也可以分為多行。注意: 該子目錄本身不受影響,影響的只是它所包含的目錄和文件! # # 示例: # [foo] # password=bar # rule.default=r # rule.none=d:\公司制度|d:\財(cái)務(wù)票據(jù) # rule.r=d:\施工項(xiàng)目\2021年 # rule.r=d:\施工項(xiàng)目\2022年 # rule.d=d:\個(gè)人目錄\foo # # 該賬戶名為foo,密碼為bar,默認(rèn)訪問(wèn)權(quán)限是讀權(quán)限,但賬戶沒(méi)有“d:\公司制度”和“d:\財(cái)務(wù)票據(jù)”的訪問(wèn)權(quán)限,且 # 對(duì)“d:\施工項(xiàng)目\2021年”和“d:\施工項(xiàng)目\2021年”只有讀權(quán)限,對(duì)“d:\個(gè)人目錄\foo”有最高訪問(wèn)權(quán)限。 # #賬戶xxx,訪客的用戶名為guest [cxxu@dav] password=1 rule.default=d rule.none= rule.r= rule.w= rule.d=
FAQ
瀏覽器無(wú)法打開(kāi)
-
首先檢查端口號(hào)是否正確,默認(rèn)80端口可以不用輸入,否則要明確指出端口號(hào)
-
瀏覽器代理設(shè)置可能導(dǎo)致無(wú)法打開(kāi)本地的http鏈接,例如proxy switchOmega,需要將本地ip(私有ip)過(guò)濾掉文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-812695.html
- 插件默認(rèn)過(guò)濾127.0.0.*
- 但是可能不會(huì)過(guò)濾192.168.*
-
或者用
localhost:port
也可以訪問(wèn),例如chfs提供的鏈接是:http://192.168.1.46:8084
,則瀏覽器輸入http://localhost:8084
也行文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-812695.html
關(guān)于權(quán)限問(wèn)題(訪問(wèn)控制)
- 網(wǎng)頁(yè)(http鏈接)打開(kāi)的頁(yè)面目前可以訪問(wèn)所有文件;而登錄受限的用戶后只能訪問(wèn)受配置文件約束的若干資源
- 這點(diǎn)有些不正常,但是不影響webdav的傳輸
日志
- 保存日志,需要指定日志存儲(chǔ)目錄,如果指定一個(gè)不存在的目錄,日志文件將無(wú)法保存
- 所以如果要保存的路徑需要檢查存在性,不存在手動(dòng)創(chuàng)建一下
其他
- 詳情參考官網(wǎng)
到了這里,關(guān)于WebDav協(xié)議相關(guān)軟件@簡(jiǎn)單配置局域網(wǎng)內(nèi)的http和WebDav服務(wù)器和傳輸系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!