走啊走
wordpress安装

无法访问阿里云ECS实例中运行网站的详细排查方法

本文主要介绍无法访问ECS实例中运行网站的排查方法。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

无法打开网站时,应该先查看报错提示的含义,可参见常见状态码报错分析,查看报错原因。如果没有返回状态码,可参考以下步骤进行排查。

  • 网络通信问题
  • 端口通信问题
  • 防火墙配置异常
  • 重新配置安全组公网规则
  • 其他问题

网络通信问题

本节主要介绍分别在Linux系统和Windows系统中网络通信问题的排查方法。

Linux实例网络通信问题排查

  1. 执行ifconfig或者ip addr命令,查看IP地址。系统显示类似如下。


  2. 执行以下命令,通过实例路由表查看网关。
    route -n

    系统显示类似如下。

  3. 使用ping命令访问公网,检查是否为网络通信问题。

Windows实例网络通信问题排查

  1. 打开命令行窗口,执行以下命令,查看IP地址。
    ipconfig
  2. 执行以下命令,通过实例路由表查看网关。
    route print

    说明

    • 若网卡驱动未开启或网卡配置有问题,请检查网卡驱动,并重新安装。
    • 关于网络相关问题的测试工具,请参见以下文档。
      • ping 丢包或不通时链路测试说明
  3. 使用ping命令访问公网,检查是否为网络通信问题。

端口通信问题

本节主要介绍分别在Linux系统和Windows系统中端口通信问题的排查方法。

Linux实例端口通信问题

  1. 执行以下命令,检测sshd服务的运行状态,确认端口是否有正常监听。
    netstat -antpu | grep sshd

    系统显示类似如下。
    sshdservice

  2. 根据不同操作系统,执行下列命令查看服务运行状态。
    • CentOS 6:service sshd status
    • CentOS 7:systemctl status sshd
  3. 如果sshd服务没有正常运行,则根据不同操作系统,执行下列命令手动启动sshd服务。
    • CentOS 6:service sshd restart
    • CentOS 7:systemctl restart sshd
  4. 查看sshd程序日志。
    • 如果无法正常启动sshd服务,CentOS 6系统一般会直接输出错误信息,而CentOS 7启动时没有输出信息,需要通过 secure日志进行查看。sshd日志所在目录:/var/log/secure
    • 通过secure日志的报错信息,一般是可以定位绝大部分sshd启动异常的问题。

Windows 实例端口通信问题

依次执行以下命令,检测远程端口,其中[$PID]为第一条命令返回的PID值。

Tasklist /svc | findstr "Ter"
netstat -ano | findstr "[$PID]"

系统返回类似如下。

remoteport

防火墙配置异常

本节主要介绍分别在Linux系统和Windows系统中防火墙配置异常的排查方法。

Windows实例中关闭防火墙后连接恢复正常

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

  1. 调整防火墙配置策略。有关配置方案,请参见以下文档。
    • 设置 Windows 实例远程连接防火墙
  2. 调整后,重新进行远程连接。

Linux实例中关闭Iptables后连接恢复正常

提示:只有在已授权可关闭Iptables的情况下,才能做调整Iptables配置策略排查。

  1. 执行以下命令,查看防火墙规则。
    iptables -nvL -line-number

    说明

    • -n:不对IP地址进行反查,加上这个参数显示速度会快很多。
    • -v:输出详细信息,包含通过该规则的数据包数量、总字节数及相应的网络接口。
    • -L:查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数。
  2. 修改iptables规则,具体操作步骤如下所示。

    说明:如果之前已设置过规则策略,则执行cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak命令保存一份原有的Iptables文件,避免丢失已设置过策略。

    1. 执行以下命令,清空实例上所有的规则。
      iptables -F
    2. 执行以下命令,拒绝INPUT方向所有的请求。
      iptables -P INPUT DROP

      提示:线上业务请勿直接操作,会导致业务直接中断。

    3. 依次执行下列命令,放行80端口。
      iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

      或者您也可以参见以下命令,允许指定IP访问80端口,此处以“192.168.1.1”为例。

      iptables -I INPUT -s 192.168.1.1 -p tcp --dport 80 -j ACCEPT
    4. 执行以下命令,查看添加的规则是否生效。
      iptables -L

      系统显示类似如下。iptables -L

    5. 执行以下命令,保存添加的规则。
      iptables-save > /etc/sysconfig/iptables
  3. 执行service iptables restart/etc/init.d/iptables restart命令,重启Iptables。
  4. 执行以下命令,重启实例验证配置。
    systemctl reboot
  5. 重新进行SSH连接实例。

重新配置安全组公网规则

由于安全组默认没有放行网站使用的端口(如80端口),因此需要自行放行该端口。以下是放行该端口的具体操作步骤。想了解更多安全组规则相关信息,可参见添加安全组规则,添加安全组公网规则。

  1. 登录ECS 控制台,定位实例。
  2. 单击实例ID,进入详情页,再单击本实例安全组>配置规则添加安全组规则
  3. 根据网站使用的端口配置新的安全组规则,放行网站使用的端口,最后单击确定

其他问题

引发网站访问异常的相关因素及症状很多,如果您需要了解更多ECS实例中网站无法访问的原因,

微信订阅号:wordpress8—wordpress安装建站学习网 » 无法访问阿里云ECS实例中运行网站的详细排查方法

评论 抢沙发

#快捷签到点我#

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

ECS突发性能T6-99元/年
力荐

阿里云服务器,ECS共享型S6新品低至69.86/年

阅读(1502)评论(242)

新用户专属小站价,爆款产品1折起,百度云服务器之前买的特价大概100块钱左右一年的吧,大概还有一个月就要过期了,平时没怎么用基本是空着的,做一些测试用,今天去百度云续费域名,结果发现又有活动团购价格62元/6个月的价格,感觉比较划算六十多块钱买半年,这个价格还是比较诱人的,...

ECS突发性能T6-99元/年
新手必看

wordpress建站首选云服务器229.00/3年

阅读(2822)评论(242)

新用户专属小站价,爆款产品1折起爆款产品5折起,新老用户同享优惠,限时抢购,指定云产品使用 限新用户 最高¥2000...

本站正在用阿里云ECS服务器;特价主机低至¥102元/年起开抢 阿里云特价通道
宝塔服务器面板,一键全能部署及管理,送你¥3188礼包, 点我领取
阿里云0.9折 腾讯云95元起 9.9元云主机