全部产品
Search
文档中心

:检查TCP 80端口是否正常工作

更新时间:May 09, 2022

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

概述

本文主要介绍在不同操作系统的阿里云ECS实例中,检查TCP 80端口是否正常工作的方法。

详细信息

阿里云提醒您:

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

如果ECS实例无法对外提供HTTP服务,可通过以下排查方法,检查Web服务相关的端口(默认为TCP 80)是否正常工作。

  • 在ECS管理控制台,确认安全组已经放行该端口。
  • 远程连接ECS实例,确认服务已经开启。
  • 确认端口正常被监听。如没有,请修改监听地址。
  • 确认实例防火墙已经放行服务。
  • 若仍无法解决,请提交工单咨询。

本文分别介绍在以下不同操作系统中检查TCP 80端口是否正常工作的方法:

以下是在Windows Server 2012系统中检查TCP 80端口是否正常工作的方法。

Windows Server 2012

说明:在Windows 2012系统的Windows实例中安装IIS服务为例。

  1. 登录ECS控制台,确认实例所在安全组里已经添加以下安全组规则。

    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 网络 不需要配置 入方向 允许 HTTP(80) 80/80 地址段访问 10.0.0.0/8 1
    经典网络 公网
  2. 参见远程连接Windows实例,登录Windows实例。

  3. 以下是查看IIS服务是否已经开启的操作步骤:

    1. 服务器管理器窗口,单击工具>Internet Information Services (IIS)管理器。如果找不到这个选项,则说明没有成功安装IIS服务,需要重新安装IIS服务。
      Windows2012_确认已安装IIS服务
    2. Internet Information Services (IIS)管理器窗口中确认以下信息:
      • 连接导航栏里,右键单击实例ID,如果启动处于灰色状态,表示IIS服务已经开启。
      • 单击网站,在右边列表页查看您安装的网站的状态。如果网站状态已停止,则单击网站,在右侧操作栏的管理站点部分,单击启动,启动网站。
        Windows2012_确认站点已启动
  4. 以下是查看端口在实例中是否正常被监听的操作步骤:

    1. 启动命令提示符
    2. 执行以下命令。
      netstat -ano | findstr :80
      如果返回类似TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4,则说明80端口正常全网监听。如果返回的不是该端口,请在Internet Information Services (IIS)管理器窗口中,单击指定网站,然后单击右侧操作栏中的绑定,将绑定的端口该为80端口。
  5. 以下是查看实例里防火墙是否已经放行Web服务的操作步骤:

    1. 单击控制面板>系统与安全>Windows 防火墙
    2. 根据防火墙状态,执行不同操作。
      • 如果防火墙处于关闭状态,不需要再做其他处理。如果仍无法访问网站,请提交工单咨询。
      • 如果防火墙处于开启状态,则执行以下操作。
        1. 单击高级设置
        2. 在弹出窗口的左侧导航栏中,单击入站规则
        3. 选择万维网服务(HTTP 流入量),如果处于禁用状态,在操作栏里,单击启用规则
          Windows2012_防火墙里启用HTTP入站规则
  6. 完成上述检查,如果仍不能访问实例,请提交工单咨询。

以下是在Windows Server 2008系统中检查TCP 80端口是否正常工作的方法。

Windows Server 2008

说明:以在Windows 2008系统的Windows实例中安装IIS服务为例。

  1. 登录ECS管理控制台,确认实例所在安全组里已经添加以下安全组规则。

    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 网络 不需要配置 入方向 允许 HTTP(80) 80/80 地址段访问 10.0.0.0/8 1
    经典网络 公网
  2. 参见远程连接Windows实例,登录Windows实例。
  3. 以下是查看IIS服务是否已经开启的操作步骤。

    1. 服务器管理器窗口,选择角色>Web 服务器。如果找不到这个选项,则说明没有成功安装IIS服务。
    2. Web 服务器窗口,确认系统服务部分显示为全部正在运行。如果不是这个状态,请启动所有服务。
      Windows2008_确认已安装IIS服务
  4. 以下是查看端口在实例中是否正常被监听的操作步骤。

    1. 启动命令提示符
    2. 执行以下命令。
      netstat -ano | findstr :80
      如果返回TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4,则说明80端口正常全网监听。如果返回的不是该端口,请在Internet Information Services (IIS)管理器窗口中,单击指定网站,然后单击右侧操作栏中的绑定,将绑定的端口该为80端口。
  5. 以下是查看实例里防火墙是否已经放行Web服务的操作步骤。

    1. 单击控制面板>系统与安全>检查防火墙状态
    2. 根据防火墙状态,执行不同操作。
      • 如果防火墙处于关闭状态,不需要再做其他处理。如果仍无法访问网站,请提交工单咨询。
      • 如果防火墙处于开启状态,则执行以下操作。
        1. 单击高级设置
        2. 在弹出窗口的左侧导航栏中,单击入站规则
        3. 选择万维网服务(HTTP 流入量),如果处于禁用状态,在操作栏里,单击启用规则
          Windows2008_防火墙里启用HTTP入站规则
  6. 完成上述检查,如果仍不能访问实例,请提交工单咨询。

以下是在CentOS 7.3系统中检查TCP 80端口是否正常工作的方法。

CentOS 7.3

说明:以在CentOS 7.3系统的Linux实例中安装Nginx服务为例。

  1. 登录ECS管理控制台,确认实例所在安全组里已经添加以下安全组规则。

    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 网络 不需要配置 入方向 允许 HTTP(80) 80/80 地址段访问 10.0.0.0/8 1
    经典网络 公网
  2. 参见远程连接Linux实例,登录Linux实例。
  3. 执行以下运行命令。

    systemctl status nginx
    如果系统返回类似如下,则说明Nginx已经启动。如果未开启,则执行systemctl start nginx命令。
    CentOS7.3_nginx已启动
  4. 执行以下命令,查看端口在实例中是否正常被监听。

    netstat -an | grep 80
    如果返回tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN,则说明80端口正常全网监听。如果返回的不是上述结果,请修改监听地址。关于如何修改监听地址,请参见如何修改Nginx服务端口监听地址
  5. CentOS 7之后的版本默认安装Firewalld。如果已经启用firewalld.service,则需要放行 TCP 80 端口。执行以下命令。若返回结果为success,则表示已经放行TCP 80端口。

    firewall-cmd --add-port=80/tcp --permanent

    使用CentOS 7之前的版本并开启默认防火墙iptables时,应注意iptables默认不拦截访问,如果配置了iptables规则,需要执行以下步骤。

    1. 查看规则列表:执行命令 iptables --line -vnL。根据返回结果执行不同操作。
      • 如果设置了默认拦截,添加规则放行TCP 80端口。执行命令iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      • 如果设置了DROP TCP 80端口,替换规则放行 80 端口。执行命令iptables -R INPUT [80端口对应的规则编号] -p tcp --dport 80 -j ACCEPT
    2. 保存上述规则,执行命令 service iptables save
  6. 完成上述检查,如果仍不能访问实例,请提交工单咨询。

以下是在Ubuntu 16.04系统中检查TCP 80端口是否正常工作的方法。

Ubuntu 16.04

说明:以在Ubuntu 16.04系统的Linux实例中安装Apache2 Web服务器为例。

  1. 登录ECS管理控制台,确认实例所在安全组里已经添加以下安全组规则。

    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 网络 不需要配置 入方向 允许 HTTP(80) 80/80 地址段访问 10.0.0.0/8 1
    经典网络 公网
  2. 参见远程连接Linux实例,登录Linux实例。
  3. 查看Apache2 Web服务器是否已经开启。执行命令service apache2 status。如果返回以下结果,说明 Apache2 Web服务器已经启动。如果未开启,执行命令 service apache2 start
    Ubuntu 16.04_Apache2 Web 服务器正常工作

  4. 执行以下命令,查看端口在实例中是否正常被监听。

    netstat -an | grep 80
    如果返回tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN,则说明80端口正常全网监听。如果返回的不是上述结果,请修改监听地址。关于如何修改监听地址,请参见如何修改Apache服务端口监听地址
  5. 如果您已经启用UFW(Ubuntu 预装防火墙),需要放行TCP 80端口或HTTP服务。执行命令ufw allow 80/tcpufw allow http。返回结果为Rule added 表示已经放行TCP 80端口或HTTP服务。

    说明:如果实例中已经安装Firewalld并且已经启用firewalld.service,若需要放行 TCP 80 端口,执行命令firewall-cmd --add-port=80/tcp --permanent。返回结果为success即表示已经放行TCP 80端口。

  6. 完成上述检查,如果仍不能访问实例,请提交工单咨询。

适用于

  • 云服务器ECS