前几天打算用电脑读取客厅旧笔记本里共享的电影资源,屏幕直接弹出提示:正在拒绝你的电脑访问,请与媒体服务器核实。当时第一反应以为WiFi断网,可手机还能正常上网。折腾一阵之后才弄明白,故障和网络连通性无关,是媒体服务器直接拦截了这台电脑的访问请求。
这类提示大多出现在DLNA共享或者媒体服务器软件场景。媒体服务器可以是长期开机的电脑,也可以是NAS、挂载硬盘的路由器,电视盒子也能充当。服务器内部维护一份设备访问名单,你的电脑不在允许列表,或是标记成已阻止,就会直接拒绝连接。我第一次碰到这个报错的时候,误以为本机硬件故障,重装驱动、重启路由器全部试了一遍,纯粹浪费时间。

之后我去存放电影的Windows笔记本调整配置。右键任务栏网络图标,打开网络和Internet设置,找到媒体流选项。点进去,设备列表里能看到我这台电脑,状态标记为已阻止。什么时候被阻止的我完全没印象,大概率是之前弹窗询问是否允许设备访问媒体时误点拒绝,也有可能是系统更新自动改动了这条规则。状态修改为允许,回到电脑刷新页面,电影目录就能正常加载。
如果不是Windows自带媒体流,使用Plex、Jellyfin、Emby这类软件,底层逻辑差不多。登录服务器管理后台,查看用户权限,确认当前设备对应的账号有没有访问限制。部分服务器按照设备或者IP授权,电脑IP变动、更换网卡,服务器识别不到,判定为陌生设备直接拒绝。还有一种情况是媒体库共享选项没有勾选,某个文件夹没有开放给当前用户访问,访问时也会弹出类似报错。
防火墙也经常造成这类问题。媒体服务器主机防火墙没有放行DLNA或者对应端口,本机发出的请求根本无法送达服务器,表现就是拒绝访问。可以临时关闭两端防火墙测试,连通之后再逐条添加例外规则,不要长期关闭防火墙,存在安全隐患。
路由器这边也有容易踩的坑。部分路由器默认开启AP隔离,访客网络和主网络相互隔离,设备之间无法互相发现。看似两台设备连同一个WiFi,一台在主网络,一台在访客网络,不在同一局域网。还有路由器拦截组播流量,DLNA依靠组播发现设备,组播被阻断,服务器找不到你的电脑,反之亦然。
媒体服务器开启账号密码验证,电脑保存旧密码,或是Windows凭据管理器保存过期凭证,访问同样会被拒绝。打开控制面板凭据管理器,删除和这台服务器相关的记录,重新访问时手动输入账号密码。
我那次最终解决办法,就是在媒体服务器主机把设备状态从阻止改成允许。但排查过程耗费不少精力,提示信息太过笼统,只提示拒绝访问,不会写明拦截原因。遇到这个报错,不要优先怀疑本机,先去媒体服务器查看设备列表和权限,大多能定位问题。找不到原因的话,两台设备全部重启,清理缓存之后再重试。