您好!欢迎访问否玩代码!
My title page contents
广告位

手机端网站打不开?电脑正常,这5个排查步骤帮你解决

栏目: 日期: 浏览:132

大多站长都碰到过这般诡异状况: 电脑里网站全然正常, 然而手机浏览器却怎么都打不开。这并非玄学, 乃是移动终端网络环境跟PC有着极大差异。今日就借由5个步骤, 予以你找寻问题且修复。

第一步:检查服务器是否针对移动端屏蔽

有一部分服务器设置了User - Agent拦截规则, 却错误地将手机端请求给屏蔽掉了。你能够借助curl进行测试:

curl -A "Mozilla/5.0 (Linux; Android 10; SM-G960F) AppleWebKit/537.36" https://你的域名.com

要是返回值处于403或者呈现空白状态, 那就表明服务器对移动端UA进行了屏蔽, 这种情形下需对Nginx/Apache规则作出修改, 将针对移动UA的限制消除掉。

第二步:排查移动端DNS缓存与HSTS问题

手机浏览器会缓存旧DNS记录或HSTS策略。依次操作:

关闭WiFi,切换4G/5G重试(排除WiFi网络问题)

于手机浏览器当中, 在其地址栏输入 chrome://net-internals/#dns , 之后于对应的界面之上寻找并点击“Clear host cache”。

要是开启了HTTPS, 那就检查HSTS, 去访问https://hstspreload.org这个网址并输入域名, 进而确认是不是被强制预加载了。

第三步:检查移动端CND或Cloudflare设置

要是你运用了CDN(就像Cloudflare这样), 于“Speed > Optimization”里将“Rocket Loader”予以关闭, 因为此功能对于移动端JavaScript的执行并不友善, 时常会致使页面加载出现中断情况。同时还要去检查“SSL/TLS”的设置, 使其为“Full”而非“Flexible”。

第四步:查看移动端浏览器控制台报错

于手机的Chrome里输入 chrome://inspect , 借由电脑的Chrome DevTools施行远程调试手机的浏览器。常见的错误涵盖着:

移动端的IP, 被服务器的防火墙, 进行了临时封禁, 这是由ERR_CONNECTION_TIMED_OUT导致的。

混合内容 → 网页之中存在HTTP资源, 然而该网站却强行要求HTTPS。

错误代码ERR_SSL_VERSION_OR_CIPHER_MISMATCH所对应的情况是, 服务器的SSL协议版本处于过低的状态。

第五步:精简前端资源与检查响应式适配

移动端的浏览器, 对于JavaScript以及大文件加载, 显得更为敏感, 是这样的情况。在.htaccess或者Nginx配置里, 去启用Gzip压缩, 并且要检查CSS当中, 是不是遗漏了@media断点, 如此才会致使移动端渲染出现崩溃现象, 就是这样的状况。

覆盖90%的“电脑能上手机不能上”场景的呢, 是以上这五个步骤基本做到的。要是问题仍然存在, 建议去抓取手机端网络包(借助Packet Capture工具), 对实际请求有没有抵达服务器分析一番。

否玩代码编辑 https://www.fouwan.com