前言

Windows系统有自带的IIS服务,可以搭建webav服务,正常部署好之后,在同个局域网内通过IP地址+端口号进行访问了。

如果需要在外也可以访问到的话,就做内网穿透将内网端口映射到公网,会生成相应的公网地址,在外访问该公网地址就可以访问到内网的文件服务器了。

这算是我踩坑最多的一个了,出现各种问题,记录一下从头到尾的正确步骤。

步骤

安装IIS必要WebDav组件

windows系统有自带的IIS服务,可以搭建webav服务。

  1. 打开控制面板,查看方式改为“类别”,进入“程序”,“启用或关闭Windows功能”

  2. 在Internet Information Services(IIS)中勾选“IIS管理控制台”、“Windows身份验证”“基本身份验证”、“管理服务”、“WebDAV发布”和“目录浏览”,然后确定安装。

设置并启用WebDav

  1. 在“开始”菜单中搜索“IIS管理器”并打开。

在网站目录下面有个 Default Web Site 可以删除,它是默认网站,采用80端口(我们这边不采用80的端口,所以删除)

  1. 选择网站,右键,添加网站

  2. 填写任意网站名称,并且选择一个物理路径(即你需要访问文件的路径),这里,我起名称为webdav,端口号设置为8181

  3. 选中webdav站点,并进入它的”WebDAV创作规则”

  4. 启用并添加创作规则

  5. 回到站点,选择“身份认证”,启用“基本身份验证”、“Windows身份验证”,“匿名身份验证”(可选)

    如果启用匿名身份验证,那么所有人都可以访问,无需密码

  6. 回到站点,进入“目录浏览”,点击“启用”

  7. 重新启动Webdav

访问WebDav

点击界面的浏览网站即可,或者在浏览器中输入 IP+端口。

问题1.出现 HTTP ERROR 500 无法访问的错误

大概率是文件夹权限的问题。

解决办法:

在网站界面,点击“编辑权限”-“安全”选项

添加用户 IIS_IUSERS 即可。(Everyone也可以)

问题2.无响应,请求失败

这个情况一般发生在局域网其他设备访问的情况,是由于防火墙拦截了。

解决办法:

导航到 “控制面板” - “系统和安全” - “Windows Defender 防火墙”,点击 “高级设置”

选择“入站规则” - “新建规则”,根据下图依次操作即可。

完成后退出再次即可。

本地映射

这个就很简单了,右键“计算机” - “映射网络驱动”。

总结

本地的WebDav搭建就简单完成了,虽然步骤很简单,但是中间稍微有点没设置好真的要查都很难查,网上的文章千篇一律,尤其是遇到的两个问题,特别是文件夹权限的 ,卡了我几天时间,还是自己在偶然尝试中才解决的。

当然它也有个缺点就是要映射,不像SMB的共享在共享中心就能查看,但是无奈于它速度快啊真香

还是稍微说一下,如果是windows系统间的访问,SMB共享就可以了,速度也是拉满的,如果是不同设备间的访问,还是首选WebDav。


补充问题

当我们通过上面的映射磁盘的方式来访问视频或者音频等文件时,会提示 “文件不存在或者被锁定” 或者 “文件被占用” 的提示导致无法打开文件。

这个情况其实只出现在windows映射中,在机顶盒或者手机使用nplayer或者infuse访问时无此问题。

经过我多方查找的原因,是由于windows自带的映射方式,无法让各类软件准确的识别到文件路径导致的。

解决方法:使用 RaiDrive 第三方软件进行映射。

  1. 前往 RaiDrive官网 下载软件

  2. 打开软件,根据相应设置,点击连接

  3. 连接成功后会自动打开,在我的电脑中也能看到映射成功

  4. 再次打开任意视频测试能否播放

成功!

另外,如果出现无法播放 mkv 格式的视频时,需要添加 MIME类型,扩展名为 mkv ,类型为 video/x-matroska 。如果有其他不支持的格式,可以网上查找对应的 MIME类型相应添加进去即可。