在运营IDC的时候,经常遇到网站打不开的情况,一般从服务器端、客户端、通信网络等方面去分析原因,然后针对性的去解决。

Web站点都是搭建在IIS、Apache、Ngnix这样的Web服务器软件上的,这些软件又有各自的运行机制。一旦因为什么原因网站在服务器上被设置为停止状态了,那肯定就打不开了。

上面提到的Web服务器软件都支持多IP、多域名的框架体系,所以一旦域名没有绑定,将无法打开网站。

3、资源超标出现Service Unavailable

在IIS上有应用程序池这一机制,一旦程序池的CPU使用率超出限制,IIS将关闭此程序池(等待一段时间后将重新开启)。如果应用程序池被关闭,那此程序池中的所有的网站打开时都将显示Service Unavailable。

4、程序问题导致网站极慢,近似打不开

比如一个要连接数据库的网站,一旦数据库信息不正确,又没有在程序上做超时处理,则网站将会出现打开特别慢,到最后等了几分钟还什么东西都没有出来。

还有的程序写的有问题,整个就是一死循环,有始无终,当然程序运行不出一个结果出来了。

5、网站被CC攻击

网站被CC攻击,所有的连接数被占满,且一时半会儿无法释放。将会导致网站打开超时无法响应,这时等同于无法打开。

6、网站被DDOS攻击

其实这个描述并不准确,网站是无法被DDOS攻击的。事实上是黑客想要攻击该网站,从而对该网站所在服务器实施了DDOS攻击。一旦服务器被DDOS攻击瘫痪,那么网站势必不能幸免!

二、客户端原因

1、DNS问题

客户端的原因主要是DNS问题,经常出现一个网站某个别地方打不开,多半是客户端的DNS引起的。客户的DNS一般都是使用电信运营商提供的自动获取的DNS,这些DNS难保不出现问题。

2、杀毒软件

还有一些客户端的安全软件,如防火墙、防病毒软件,会对一些网站有屏蔽。有可能这些网站真的安全性问题,也有可能是误判,大家要学会识别。

三、网络的原因

网络原因主要有两点,一是路由不可达,二是端口不可达。

1、路由不可达

路由不可达是经常发生的事情,比如前几天微信出问题了,说是数据中心所在的城市进行市政施工时把通信线缆挖断了……

又比如前段时间部分中国访问部分美国的网站打不开,后来听说是部分电信的海底光缆断了……

路由不可达还有可能是在路由器上进行了黑洞处理,我们一个IP在被超大流量DDOS攻击之后,往往会找电信运营商在边界路由上进行处理,将数据包在入口的地方丢弃掉。

2、端口不可达

端口不可达是指服务器ping是通,远程也能登录,但网站就是打不开,这时很有可能是端口被禁导致的。我们会因为网站域名没有备案(或者其它原因),在防火墙设置该屏蔽该域名所在的服务器的80端口。

最后,还要说一个原因,那就域名解析。有可能服务器、客户端、网络都没有问题,真正出问题的是域名的解析错误,或者解析不稳定,都将导致网站打不开。所以遇到网站打不开,我们推荐第一时候使用ping或nslookup看看域名是否可以正常解析。如果域名解析到的IP是正确的,那么再更一步的去分析是服务器端,还是客户端,还是网络等方面的问题。

关于网站打不开的原因,洪哥就分享这么多,希望对大家有所帮助,谢谢!

03-14 07:07