支持中心 > 热门问题

ECS上的网站无法访问怎么办?

提交于: 2017-07-25 17:30:12

当您无法访问ECS上的网站时,建议按如下思路进行检测分析。

网络通信问题

  1. 利用网络检测命令查看 IP 地址: ifconfig 和 ip addr 。
  2. 查看网关 route -n 。

若网卡驱动未开启或网卡配置有问题,请检查网卡驱动,并重新安装。

关于网络相关问题的测试工具,详见 ping 丢包或不通时链路测试说明

端口通信问题

  • Windows 系统中,远程端口检测命令如下。Tasklist /svc | findstr “Ter”
  • netstat –ano | findstr “$PID”
  • Linux 系统中请参照下述流程进行检测。
    1. 检测 sshd 服务的运行状态首先确认端口是否有正常监听netstat –antpu | grep sshd
    2. 查看服务运行状态CentOS6 service sshd status说明:如果 sshd 服务没有正常运行,可以尝试手动启动 sshd。启动命令如下:CentOS7 systemctl restart sshd
    3. CentOS6 service sshd restart
    4. CentOS7 systemctl status sshd
    5. sshd 程序日志如果无法正常启动 sshd 服务,CentOS 6 系统一般会直接输出错误信息,而CentOS 7 启动时没有输出信息,需要通过 secure 日志进行查看。sshd日志:/var/log/secure。
    6. 通过secure日志的报错信息,一般是可以定位绝大部分sshd启动异常的问题。

防火墙配置异常

Windows 系统中

前提条件:您只有在已授权可关闭防火墙的情况下,才能做该项排查。

故障现象:远程无法连接,关闭 防火墙 后连接恢复。

解决方法:调整防火墙配置策略,具体操作详见:ECS Windows 远程连接之防火墙设置

完成操作后,请再进行远程连接。

Linux 系统中

前提条件:您只有在已授权可关闭 iptables 的情况下,才能做该项排查。

故障现象:SSH 无法连接,关闭 iptables 后连接恢复。

解决方法:调整 iptables 配置策略。

    1. 查看防火墙规则:iptables -nvL –line-number
      • L 查看当前表的所有规则,默认查看的是 filter 表,如果要查看 NAT 表,可以加上 -t NAT 参数。
      • n 不对 IP 地址进行反查,加上这个参数显示速度会快很多。
      • v 输出详细信息,包含通过该规则的数据包数量、总字节数及相应的网络接口。
    2. 修改规则。
      1. 若之前已设置过规则策略的,将原有的 iptables 文件保存一份,避免之前设置的策略丢失。cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
      2. 清空服务器上所有的规则。iptables -F
      3. 设置 INPUT 方向所有的请求都拒绝。如果是线上业务请勿直接操作,会导致业务直接中断。iptables -P INPUT DROP
      4. 设置 iptables 防火墙后需放行 22 号端口,否则会导致无法远程。iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      5. iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
      6. 指定 IP 访问22号端口。说明: 192.168.1.1 为请求端 IP 地址。
      7. iptables -I INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT
      8. 使用 iptables -L 查看一下添加的规则是否生效。iptables -L
      9. 保存添加的规则。iptables-save > /etc/sysconfig/iptables
    3. 设置后需要重启iptables。service iptables restart 或 /etc/init.d/iptables restart
    4. 操作完成后,重启服务器进行配置验证。systemctl reboot

完成操作后,请再进行 SSH 连接。

安全组公网规则

故障现象:ECS 服务器无法ping通,排查iptables/防火墙、网卡IP配置无误,回滚系统后仍然无法ping通。

可能原因:ECS 实例安全组默认的公网规则被删除。

解决方法:重新配置 ECS 实例的安全组公网规则,具体操作详见 ECS实例安全组默认的公网规则被删除导致无法ping通

根据报错情况具体分析

由于报错情况比较复杂,这里只列出比较常见的几种报错内容:

  • 403 报错:403是一个大类,基本上403的报错就是权限问题,出现403就要检测权限配置问题。
    • 403.1 错误是由于“执行”访问被禁止而造成的。若试图从目录中执行CGI、ISAPI或其他可执行程序,但该目录不允许执行程序时便会出现此种错误。
    • 403.2 错误是由于”读取”访问被禁止而造成的。导致此错误是由于没有可用的默认网页并且没有对目录启用目录浏览,或者要显示的HTML网页所驻留的目录仅标记为“可执行”或“脚本”权限。
    • 403.3 错误是由于“写入”访问被禁止而造成的。当试图将文件上载到目录或在目录中修改文件,但该目录不允许“写”访问时就会出现此种错误。
    • 403.4 错误是由于要求SSL而造成的。您必须在要查看的网页的地址中使用“https”。
    • 403.5 错误是由于要求使用128位加密算法的Web浏览器而造成的。如果您的浏览器不支持128位加密算法就会出现这个错误,您可以连接微软网站进行浏览器升级。
    • 403.6 错误是由于IP地址被拒绝而造成的。如果服务器中有不能访问该站点的IP地址列表,并且您使用的IP地址在该列表中时您就会返回这条错误信息。
    • 403.7 错误是因为要求客户证书。当需要访问的资源要求浏览器拥有服务器能够识别的安全套接字层(SSL)客户证书时会返回此种错误。
    • 403.8 错误是由于禁止站点访问而造成的。若服务器中有不能访问该站点的DNS名称列表,而您使用的DNS名称在列表中时就会返回此种信息。请注意区别 403.6 与 403.8 错误。
    • 403.9 错误是由于连接的用户过多而造成的,由于Web服务器很忙,因通讯量过多而无法处理请求时便会返回这条错误。
    • 403.10 错误是由于无效配置而导致的错误。当您试图从目录中执行CGI、ISAPI或其他可执行程序,但该目录不允许执行程序时便会返回这条错误。
    • 403.11 错误是由于密码更改而导致无权查看页面。
    • 403.12 错误是由于映射器拒绝访问而造成的。若要查看的网页要求使用有效的客户证书,而您的客户证书映射没有权限访问该 Web 站点时就会返回映射器拒绝访问的错误。
    • 403.13 错误是由于需要查看的网页要求使用有效的客户证书而使用的客户证书已经被吊销,或者无法确定证书是否已吊销造成的。
    • 403.14 错误 Web 服务器被配置为不列出此目录的内容,拒绝目录列表。
    • 403.15 错误是由于客户访问许可过多而造成的。当服务器超出其客户访问许可限制时会返回此条错误。
    • 403.16 错误是由于客户证书不可信或者无效而造成的。
    • 403.17 错误是由于客户证书已经到期或者尚未生效而造成的。
  • 404 报错:404 错误主要是页面显示问题或者页面的链接有问题,意味着链接指向的网页不存在,即原始网页的URL失效。当Web服务器接到类似请求时,会返回一个404 状态码,告诉浏览器已请求的资源并不存在。导致这个错误的原因一般有以下几种情况:
    • 无法在所请求的端口上访问Web站点。
    • Web服务扩展锁定策略阻止本请求。
    • MIME映射策略阻止本请求。
    • 网站更新改版,但某些局部板块沿用原来的模块,而原有的模块调用的文件已经被删除或转移了路径。
    • 跟踪访问的各类脚码或CSS文件无效但调用代码依然存在。
    • 某个目录直接删除(导致一段时间该目录的文件在被爬行时全部报404 Not Found错误)
    • 网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问
  • 502 报错:当测试访问报错为 502 Bad Gateway,这是web程序配置异常导致的。建议结合web访问日志,检测一下web程序配置的参数设置是否有异常。详情请参见 502 bad gateway问题的解决方法
  • 503 报错:503是一种HTTP状态码,与404同属一种网页状态出错码。两者的区别是:前者是服务器出错的一种返回状态,后者是网页程序没有相关结果后返回的一种状态。503报错产生的原因有可能是以下几种情况:
    • 网络管理员可能关闭应用程序池以执行维护。
    • 当请求到达时应用程序池队列已满。
    • 应用程序池标识没有使用预定义账户:网络服务。而自己配置了标识,但是配置的这个用户不属于IIS_WPG组。
    • 应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭。
    • 应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000。
    • 某个目录直接删除(导致一段时间该目录的文件在被爬行时全部报404 Not Found错误)。
    • 网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问。
    • 该站点正在被攻击。对于最新型的攻击,其实是ddos的一种派生,原理在于找数千个IP,同时向服务器的apache发出请求,然后 立即断开,让apache处于等待状态,致使apache线程全部被填满,致使服务器死机。因此,为了保证大多数客户的利益,我们给每个 空间,作出了每19秒64个php请求的限制。注意,是php请求,一般的图片请求和html请求不包括在内。
    • 该程序占用的php线程过多,有的程序没有进行好优化处理,一个点击即可产生数个,甚至数十个php线程。这样的话,几个点击就可以把该时段的64个php线程全部填满了。因此出现503错误。建议优化一下程序,尽量少用require(“请求”之意)等语句。

返回
顶部