文档中心 故障排查 云主机端口不通如何排查
在这篇文章中:

    云主机端口不通如何排查

    操作场景

    如果网站直接无法访问,可能是由于安全组没有放行网站或者远程连接工具使用的端口。
    本节操作以80端口为例介绍排查云主机端口不通问题的操作步骤。

    问题定位步骤

    如果实例无法对外提供HTTP服务,可以按以下思路检查Web服务相关的接口(默认为TCP 80)是否正常工作。

    1. 在云平台控制台,确认云主机状态正常。
    2. 在云平台控制台,确认安全组已经放行该端口。
    3. 登录云主机,确认端口对应的服务已经启动。
    4. 确认端口正常被监听。如没有,请修改监听地址。
    5. 确认云主机防火墙已经放行服务端口。

    Windows操作系统

    以下操作以Windows 2012操作系统云主机,安装了IIS服务为例

    1. 检查云主机状态是否正常
      登录云平台,在”计算“>”云主机”页面,找到无法远程登录的云主机,检查云主机状态是否为“运行中”。如果云主机状态为“关闭”,请先开机再登录。
    2. 确认安全组已经放行80端口。
      检查云主机关联的安全组中入方向规则中是否已添加了80端口(默认使用80端口),您可以在云主机的详情页面查看安全组入方向规则中已添加80端口。
      如果缺少该端口,请通过添加安全组规则来添加入口方向的访问规则。
    3. 远程登录云服务器,确认服务已经开启。
    • 在“服务器管理器”窗口,单击“工具 > Internet Information Services (IIS) 管理器”。
      如果找不到这个选项,则说明没有成功安装IIS服务,需要重新安装IIS服务。
    • 在Internet Information Services (IIS) 管理器窗口中确认以下信息。
      • 在“连接”导航栏里,右键单击实例ID,如果“启动”处于灰色状态,表示IIS服务已经开启。
      • 单击“网站”,在右边列表页查看您安装的网站的状态。如果网站状态为“已停止”,则单击网站,在右侧操作栏的“管理站点”,单击“启动”,启动网站。
    1. 查看端口在实例中是否正常被监听的操作步骤。
    • 打开cmd窗口,执行 netstat -ano | findstr :80
      如果回显信息如下则说明80端口正常全网监听。否则,请修改监听地址。
      点击放大
    1. 确认实例防火墙已经放行服务。
    • 单击“控制面板 > Windows防火墙”。
    • 根据防火墙状态,执行不同操作。
      • 如果防火墙处于关闭状态,不需要再做其他处理。
      • 如果防火墙处于开启状态,则执行以下操作。
        1). 单击“高级设置”。
        2). 在弹出窗口的左侧导航栏中,单击“入站规则”。
        3). 选择“万维网服务 (HTTP 流入量)”,如果处于禁用状态,请重新启用规则。

    Linux操作系统

    以下操作以CentOS 7操作系统云主机检查Nginx服务为例

    1. 登录云平台,检查云主机状态是否正常。
      在”计算“>”云主机”页面,找到无法远程登录的云主机,检查云主机状态是否为“运行中”。如果云主机状态为“关闭”,请先开机再登录。

    2. 登录云平台,确认安全组是否已经放行80端口。
      检查云主机关联的安全组中入方向规则中是否已添加了80端口(默认使用80端口),您可以在云主机的详情页面查看安全组入方向规则中已添加80端口。
      如果缺少该端口,请通过添加安全组规则来添加入口方向的访问规则。

    3. 登录云主机,确认服务是否正常开启。

      • 执行命令:systemctl status nginx,检查nginx服务是否已经开启。
        回显信息如下所示,则说明Nginx已经启动。
        点击放大
        如未开启,则执行命令:systemctl start nginx,启动Nginx服务。

      • 执行命令:netstat -an | grep 80,查看端口在实例中是否正常被监听。
        回显信息如下则说明80端口正常全网监听。如果返回的不是如下结果,请修改监听地址。

        1
        tcp   0 0 0.0.0.0:80    0.0.0.0:*     LISTEN
    1. 登录云主机,查看云服务器防火墙规则。
    • 执行命令: systemctl status firewalldfirewall-cmd –state,查看防火墙状态。
      • 如果防火墙是关闭状态,则无需处理。
      • 如果防火墙是启动状态:
        • 执行命令: firewall-cmd –zone=public –list-ports,查看打开的端口。
        • 执行命令:firewall-cmd –zone=public –add-port=80/tcp –permanent,放行TCP 80端口。
        • 修改防火墙规则后,执行命令:firewall-cmd –reload,更新防火墙规则。
    • 若要关闭防火墙,可以执行命令:systemctl stop firewalld