对于现代网民来说
饭可以不吃,网不能不上
聚会聊天已经变为聚会开黑
坐车等人不摸下手机浑身难受
洗完澡必须刷个抖音否则完全无法入睡
“
躺床上办公已经不再是梦,
这个时代靠着网络足以“坐井观天”!
”
互联网行业的发达带给人们前所未有的便捷,但是人们从没想过,万一哪天网络崩溃,自己还能否正确找到回家的路?
众所周知,浏览器是浏览网页的入口,当浏览网页的过程中出现了网页无法访问的时候,最常见的处理方式就是重启浏览器或者重启电脑,如果还不行很多人就不知道要如何处理了,尤其是一些相对特殊的网站,比如说政府或企业的采购网站,一旦访问不了,不管是对服务端还是客户端来说,造成的后果往往是比较严重的。
网络崩了你可不能崩
接下来我们就来盘点1下
访问http网页出错的常见原因和解决方案
DNS缓存问题
很多人知道有DNS缓存这个东西,但是并不知道这个东西是干什么用的。
首先我们要明白DNS和IP地址之间的关系,DNS即域名,相当于是各大网站在网络上的门牌,而IP地址则是具体的门牌号,通过DNS解析服务器对DNS进行解析,解析出IP地址之后才能进行访问。
DNS缓存的作用就是记录在一段时间之内解析过的域名及其对应的IP地址,如果在设定的时间之内再次访问这个网站,设备则不会再次进行解析,而是根据DNS缓存里的记录进行访问,提高访问效率。但是当DNS缓存过高的时候,经常会出现访问网站的时候解析失败,自然而然也就访问失败了。最经典的案例就是电脑能够登录QQ,同时CMD控制台也能ping通www.baidu.com,但是用浏览器访问百度的时候就是打不开,或者打开的速度极慢,此时通常都是DNS缓存出了问题。
解决DNS缓存问题的方法也很简单,对于电脑来说,可以重启电脑,或者通过运行—CMD—输入ipconfig/flushdns的方式进行DNS缓存列表重置,而对于路由器来说,可以直接重启路由器,或者减小DNS缓存的老化时间,让其缓存保留的时间缩短,以此方式控制DNS缓存在设备上的保留时间。
图1 重置电脑的DNS缓存
DNS服务器配置不当
DNS配置不当容易导致访问网页的速度极慢,甚至有可能无法解析,导致访问网页失败,比如办理的是电信的宽带线路,但是使用的是移动或者联通的DNS服务器,此时可能导致DNS解析失败,造成访问失败。
一般来说,办理宽带线路的时候,运营商已经设置好了账号对应的DNS地址,在光猫或者路由器拨号的时候就能获取到DNS服务器地址。但是有的用户可能会觉得运营商设置的服务器解析比较慢,喜欢自己配置速度比较快的服务器,但是配置不当反而导致解析速度降低。配置路由器的静态DNS也比较简单,可以通过网络配置—广域网—静态DNS自行配置,可以使用默认网关作为静态DNS,也可以使用国内免费通用的DNS地址,比如114.114.114.114等,路由器设置好之后,连接路由器的电脑直接动态获取就可以了。
图2 配置路由器的静态DNS
这里推荐一些常用的免费通用DNS服务器,以供参考:
图3 常用的免费通用DNS服务器
DNS劫持
正常来说,域名和IP地址是一一对应的关系,就像人跟身份证一样。访问网页的流程是当你输入想要访问的域名之后,本来DNS服务器解析出来并返回给你的地址为域名对应的IP地址,比如说为1.1.1.1,一旦DNS发生劫持,DNS服务器返回给你的地址或许就会是2.2.2.2,此时你访问到的网站将不再是你原来想要访问的那个网站,甚至DNS会进行判断,如果这个流量是DNS服务器不感兴趣的流量将直接被丢弃,导致没有地址返回给访问者,访问者没有接收到返回的IP地址,则导致无法访问。
针对这种问题,可以尝试换一个DNS服务器地址进行解析,也可以安装第三方杀毒软件进行防御和修复,或者在路由器上配置相关的DNS防御策略,通过行为管理—域名管理配置相关规则,过滤不安全的域名,提高防御级别。
图4 配置域名安全管理规则
上面说到的都是由于DNS导致网页无法访问的问题,判断是不是DNS导致网页无法访问,可以通过运行—CMD—ping DNS地址排查,如果ping DNS服务器的地址有回显数据,则说明问题并不在DNS,而是要排查浏览器和网站服务器的问题。
图5 ping DNS服务器地址,有回显数据则为正常
浏览器的代理服务器配置不当
很多人浏览网页的时候不希望别人可以通过抓包看到自己真实的IP地址,因此会设置一个代理服务器进行访问,代理服务器可以看作是一台路由器,访问网页的时候会通过设置的代理服务器地址进行访问,但是很多时候会由于配置不当导致访问的流量无法通过路由器,因此无法访问到网页。
此时可以通过打开IE—Internet选项—连接—局域网设置–代理服务器进行代理服务器的相关设置,设置完之后再次访问网页,则会以代理服务器的设置访问,而不是以主机获取到的IP地址进行访问。
图6 代理服务器设置
访问端口错误
http协议默认的监听端口为80,在输入网址的时候,浏览器会默认帮你添加80端口,因此在访问一般网页的时候也就不需要输入端口号。
但是有些比较特殊的网页在开发的时候,为了防止恶意访问,开发人员会设置特定的端口号,比如说维盟路由器默认WEB页面的访问端口号为80,维盟防火墙默认页的面访问端口号为9090,如果在登录的时候不手动输入端口也是无法进入登录页面的,端口号也可以通过登录路由器—高级配置—WEB访问配置—HTTP访问端口进行设置。
图7 WEB访问端口号配置
由于网站服务器的问题导致访问失败
很多时候会由于网站本身的服务器导致网页访问失败,比如说网站当前访问的用户数过多、在短时间内访问当前网站的次数过多等问题,服务器会为了保证其正常运行而拒绝这些用户的访问,导致访问失败。也有可能访问的网站根本就不存在,或者访问的htm文件已经被管理员删除了,也会导致访问失败,这种问题叫做目的地不可达,导致访问失败。
因为服务器导致网页无法访问的原因非常多,一般情况下浏览器也会根据访问失败的原因进行反馈,比如500、501、502、503等,其反馈的信息都是根据失败的原因进行回显,也可以通过打开浏览器—Internet选项—高级,取消“显示友好的http错误提示”,此时可以看到具体的错误提示,比如403错误,403.1为服务器拒绝访问等,每个代码都代表着不同的错误,得到具体的原因之后则可以对症下药,更高效地解决访问失败的问题。
图8 浏览器错误回显信息设置
由于客户端的问题导致访问失败
400、403和404是最经典的客户端问题导致访问失败的原因,400为请求失败,由于输入了错误格式的网址等原因导致无法解析;403为禁止访问,即服务器已经收到了访问请求,但是拒绝该请求;404为无法找到网页对应的htm文件。
关于403错误
小编在昨天遇到一个客户咨询:QQ可以正常登录,CMD控制台可以正常ping通百度,而且其他页面都可以访问,就只有他需要访问的页面出现403错误,此时路由器也可以ping通需要访问的地址,但是就是无法通过页面访问。
登录路由器查看访问控制的日志,发现没有任何拒绝该网站的日志,且路由器上没有做任何关于http协议的访问控制等策略,说明出现此错误并不是由于路由器的原因导致的。
最常见的403错误有禁止服务和账号信息调用错误,首先排查账号信息调用错误的问题,清空浏览器缓存、cookie和网站数据等,重启浏览器重新打开该网址,但是依然出现403错误。
此时怀疑是由于电脑的IP地址被服务器禁止访问该网站所导致,然后该用户将IP地址修改为与现有地址同网段的另一个地址,修改之后重新访问该网站,发现网站已经可以正常访问了,最后将问题锁定在访问被禁止的原因上,修改一个地址即可以访问。
关于访问网页出错的原因非常多,如果细说的话三天三夜都说不完,由于客户端导致的原因甚至要修改访问的证书等等。
各http错误回显码对应的网络故障
2xx 成功
200 正常;请求已完成。
201 正常;紧接 POST 命令。
202 正常;已接受用于处理,但处理尚未完成。
203 正常;部分信息 — 返回的信息只是一部分。
204 正常;无响应 — 已接收请求,但不存在要回送的信息。
3xx 重定向
301 已移动 — 请求的数据具有新的位置且更改是永久的。
302 已找到 — 请求的数据临时具有不同 URI。
303 请参阅其它 — 可在另一URI 下找到对请求的响应,且应使用 GET 方法检索此响应。
304 未修改 — 未按预期修改文档。
305 使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。
306 未使用 — 不再使用;保留此代码以便将来使用。
4xx 客户机中出现的错误
400 错误请求 — 请求中有语法问题,或不能满足请求。
401 未授权 — 未授权客户机访问数据。
402 需要付款 — 表示计费系统已有效。
403 禁止 — 即使有授权也不需要访问。
404 找不到 — 服务器找不到给定的资源;文档不存在。
407 代理认证请求 — 客户机首先必须使用代理认证自身。
415 介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。
HTTP 400 – 请求无效
HTTP 401.1 – 未授权:登录失败
HTTP 401.2 – 未授权:服务器配置问题导致登录失败
HTTP 401.3 – ACL 禁止访问资源
HTTP 401.4 – 未授权:授权被筛选器拒绝
HTTP 401.5 – 未授权:ISAPI 或 CGI 授权失败
HTTP 403 – 禁止访问
HTTP 403 – 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost
HTTP 403.1 禁止访问:禁止可执行访问
HTTP 403.2 – 禁止访问:禁止读访问
HTTP 403.3 – 禁止访问:禁止写访问
HTTP 403.4 – 禁止访问:要求 SSL
HTTP 403.5 – 禁止访问:要求 SSL 128
HTTP 403.6 – 禁止访问:IP 地址被拒绝
HTTP 403.7 – 禁止访问:要求客户证书
HTTP 403.8 – 禁止访问:禁止站点访问
HTTP 403.9 – 禁止访问:连接的用户过多
HTTP 403.10 – 禁止访问:配置无效
HTTP 403.11 – 禁止访问:密码更改
HTTP 403.12 – 禁止访问:映射器拒绝访问
HTTP 403.13 – 禁止访问:客户证书已被吊销
HTTP 403.15 – 禁止访问:客户访问许可过多
HTTP 403.16 – 禁止访问:客户证书不可信或者无效
HTTP 403.17 – 禁止访问:客户证书已经到期或者尚未生效
HTTP 404.1 – 无法找到 Web 站点
HTTP 404 – 无法找到文件
HTTP 405 – 资源被禁止
HTTP 406 – 无法接受
HTTP 407 – 要求代理身份验证
HTTP 410 – 永远不可用
HTTP 412 – 先决条件失败
HTTP 414 – 请求 – URI 太长
5xx 服务器中出现的错误
500 内部错误 — 因为意外情况,服务器不能完成请求。
501 未执行 — 服务器不支持请求的工具。
502 错误网关 — 服务器接收到来自上游服务器的无效响应。
503 无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
HTTP 500 – 内部服务器错误
HTTP 500.100 – 内部服务器错误 – ASP 错误
HTTP 500-11 服务器关闭
HTTP 500-12 应用程序重新启动
HTTP 500-13 – 服务器太忙
HTTP 500-14 – 应用程序无效
HTTP 500-15 – 不允许请求 global.asa
Error 501 – 未实现
HTTP 502 – 网关错误