访问站点时,报“无法访问此网站”的错误,没有错误状态码?
网站无法访问的原因多种多样甚至花里胡哨,那如何排查到问题的原因并解决呢?我们一起来看看吧~
(PS:本文针对云服务器网络无法访问,云下思路也可以借鉴)
无错误状态码,多数情况下是“ERR_CONNECTION_TIMED_OUT”问题。
出现ERR_CONNECTION_TIMED_OUT错误原因,可以总结为以下5点:
-
服务器带宽跑满、存在攻击
-
若是云服务器可能存在账号处于欠费状态
-
服务没有启动
-
端口没有正常监听
-
防火墙或者防火墙策略限制
1、使用命令telnet IP Port 进行测试
-
查看服务器带宽是否跑满、是否有攻击
-
是否使用的账号处于欠费状态
-
web服务没有正常启动
-
端口没有正常监听
-
防火墙/安全组拦截
3、若是防火墙拦截,需要关闭防火墙进行测试,或者找到相关限制规则进行修改。
-
通过查看其配置文件,并检测其配置文件语法,发现语法正常;
-
通过命令行查看其web服务端口运行正常,没有进程僵尸状况;
-
具体读配置文件,然后再查找客户客户配置文件所指定的具体目录;例如:网站数据目录等(本案例是客户机器迁移之后,由于阿里磁盘的特性导致盘符改变,客户的数据盘挂载不上,etcfstab和盘符不匹配)
-
问题定位到之后,重新以正确的方式挂载客户网站数据;重启服务,问题得以圆满解决;
-
基于类似问题还可以关注下目录权限等问题。
-
服务器配置文件权限,以及语法的正确性;
-
配置文件中指定的网站相关目录存在问题,及相关权限问题;
-
运行web服务的用户和相关权限问题;
-
防火墙的设置问题,导致服务不可达;
-
服务器服务进程僵死问题;
-
配置文件中的非法字符问题;(特别是从windows平台直接cp过来的配置文件容易报错)这样的问题较难排查,可以通过type 命令或者 file 命令查看文件类型;最好是二进制格式或者 ascii 码,linux平台可以安装 dos2unix 解决;
-
服务器的错误日志亦是非常关键的问题突破口;
404报错的具体原因是访问的路径url目录在服务上没有找到,如果直接使用ip或者域名访问,那么实际访问的页面是站点根目录下的默认文件(配置文件中index后指定的文件),如果服务器上站点根目录上没有这个文件,则会出现404错误。
如下图所示,站点跟目录/www/下没有默认index.html文件,访问http://IP/index.html时,会报404 Not Found错误。
备注:Apache环境下,404错误也是同样的原理进行排查。