同样一个网址,在网吧敲回车就开了,回家却转圈、报错或者直接提示无法访问,这种事不稀奇。网站不会专门认网吧,差别在于两边上网的“路径”和“环境”不一样。最常见的是网络出口不同。网吧大多拉的是企业专线或者电信联通双线,出口IP固定、带宽足,有些还挂了游戏加速器;家里多数是动态IP的宽带,运营商可能是移动、广电或者小区宽带。网站的反爬和风控会看IP段、访问频率和运营商线路,网吧的IP可能早就被网站放行,或者刚好落在正常节点上;家庭IP如果被误判成异常流量,就会被拦。还有些网站对某些运营商线路不友好,网吧双线能自动切,家里单线只能干瞪眼。
DNS和CDN也会造成“一边能开一边不能开”。你在浏览器里输域名,先要DNS把它翻成IP。网吧的DNS可能是本地电信联通DNS,也可能被网管设成公共DNS;家里路由器默认用运营商DNS,偶尔会解析到已经失效或者绕远的CDN节点。网站用了CDN后,不同DNS会把你带到不同机房,网吧解析到的是正常节点,家里解析到的节点可能故障、被墙或者回源失败。再加上DNS缓存,家里电脑可能还存着旧IP,网吧无盘系统一重启就还原,缓存反而是干净的。遇到这种情况,换公共DNS、清DNS缓存、用手机热点对比一下,很快能判断。
浏览器和系统环境也不一样。网吧的无盘系统是统一镜像,浏览器版本、插件、根证书、Flash或者旧版IE组件都按网站需要配好了,有的还预装了特定控件;家里电脑浏览器更新到最新,安全策略更严,混合内容、过期证书、旧协议直接被拦。网吧浏览器往往没装广告拦截和杀毒插件,家里装的安全软件可能把网站脚本当广告或风险拦截。Cookie和登录态也是原因:网吧那台机器可能早就登录过,网站按登录用户放行;家里没登录,或者Cookie过期,看到的就是限制页。还有人家里hosts文件被改过,装破解软件时多了一行127.0.0.1,把域名钉死在本地,网吧有还原卡不会留这种尾巴。
网站自己的限制也常被忽略。有些站点只允许特定地区、特定IP段或者白名单访问,网吧的固定IP恰好在内;家里宽带IP被划到限制范围。有些网站要求特定User-Agent或者来源页,网吧浏览器被网管统一设置过,家里浏览器扩展改了UA。还有代理和VPN:网吧可能全局走代理,家里没开;或者反过来,家里开了代理软件,规则把网站流量导到境外节点,网站一看IP不对就拒绝。家庭路由器里的家长控制、防火墙、IPv6优先设置,也可能把某些连接挡掉。网吧网络设备简单粗暴,反而少这些拦截。
所以别急着怪网站或电脑。先拿手机热点开同一个网站,能开说明是家里宽带或路由器的问题;不能开再清浏览器缓存、关代理、查hosts、换DNS。网吧能开家里打不开,多半是出口IP、DNS解析、浏览器环境或者本地拦截这几件事在作怪,逐项排除比反复重装系统有用。
