文档首页 > > 故障排除> 通用型问题> 无法访问ECS实例上运行的网站

无法访问ECS实例上运行的网站

分享
更新时间: 2019/09/10 20:41

操作场景

如果打开网站有报错提示信息,首先应该根据报错提示信息,排查可能的原因。

如果网站直接无法访问,说明网络不通,需要依次排查网络端口系统防火墙以及安全组配置是否正确。

路由配置问题

  • 弹性云服务器Linux实例排查
    1. 使用route命令查看路由策略,确保0.0.0.0的默认路由指向网关,使用的IP和网关在相同网段,如下图第1行和第3行所示。

    2. 使用ifconfig或者ip addr命令查看实例的IP地址。
      图1 ifconfig命令查看IP地址
      图2 ip addr命令查看IP地址
    3. 使用route -n命令通过路由表查看网关。
      图3 route -n命令查看网关
  • 弹性云服务器Windows实例排查
    1. 打开CMD命令行窗口。
    2. 执行ipconfig命令查看实例的IP地址。
      图4 ipconfig命令查看IP地址
    3. 执行route print命令通过路由表查看网关。
      图5 route print命令查看网关

端口通信问题

确保服务进程和端口正常工作,处于LISTEN状态。下表为常见TCP状态

TCP状态

说明

对应场景

LISTEN

侦听来自远方的TCP端口的连接请求

正常TCP服务端

ESTABLISHED

代表一个打开的连接

正常TCP连接

TIME-WAIT

等待足够的时间以确保远程TCP接收到连接中断请求的确认

已关闭的TCP连接,一般1分钟后清除。

CLOSE-WAIT

等待从本地用户发来的连接中断请求

应用程序BUG,没有关闭socket。出现在网络中断后。一般是进程死循环或等待其他条件。可以重启对应进程。

FIN-WAIT-2

从远程TCP等待连接中断请求

网络中断过,需要12分钟左右自行恢复。

SYN-SENT

再发送连接请求后等待匹配的连接请求

TCP连接请求失败。一般是服务端CPU占用率过高,处理不及时导致。DDos攻击也会出现此情况。

FIN-WAIT-1

等待远程TCP连接中断请求,或先前的连接中断请求的确认

网络中断过,此状态可能不会自行修复(等15分钟以上确认),如果长期占用端口需要重启OS恢复。

  • 弹性云服务器Linux实例端口通信问题排查
    1. 使用netstat –antp 命令检查服务的状态,确认端口是否正常监听。
      图6 查看端口监听状态
  • 弹性云服务器Windows实例网口通信问题

    使用远程端口检测命令:

    1. 打开CMD命令行窗口。
    2. 执行Tasklist /svc | findstr “Ter命令查看TermService服务的PID。
      图7 查看TermService服务的PID
    3. 执行netstat –ano | findstr “PID命令查看进程使用的端口号。
      图8 查看进程使用的端口号

配置安全组规则

如果安全组没有放行网站或者远程连接工具使用的端口,需要在弹性云服务器实例对应的安全组中添加放行该端口的规则。
  1. 登录管理控制台。
  2. 选择“计算 > 弹性云服务器”。
  3. 在弹性云服务器列表,单击待变更安全组规则的弹性云服务器名称。
  4. 选择“安全组”页签,展开安全组规则。
  5. 单击“更改安全组规则”
  6. 根据网站使用的端口配置新的安全组规则,放行网站使用的端口。

防火墙配置问题

  • 弹性云服务器Linux实例无法通过SSH连接,关闭操作系统的防火墙后可以正常连接。
    1. 使用iptables -nvL --line-number命令查看已配置的防火墙策略。
    2. 依次执行以下命令放行SSH服务默认端口22。

      iptables -A INPUT -p tcp --dport 22 -j ACCEPT

      iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

    3. 使用service iptables save命令保存添加的规则。
    4. 使用service iptables restart命令重启iptables。
    5. 使用iptables -nvL --line-number命令查看增加的规则是否生效。
    6. 使用SSH重新连接服务器实例。
  • 弹性云服务器Windows实例无法远程连接,关闭操作系统的防火墙后可以正常连接。
    1. 修改防火墙的策略,放行本地远程桌面端口允许远程连接。远程服务器的默认端口为TCP 3389。
    2. 防火墙策略修改完成后,重新进行连接。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区