免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
本文主要介绍在不同操作系统中检查TCP 80端口是否正常工作的方法。
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
如果实例无法对外提供HTTP服务,可以按以下思路检查Web服务相关的接口(默认为TCP 80)是否正常工作。
本文分别介绍在以下不同操作系统中检查TCP 80端口是否正常工作的方法:
以下是在Windows Server 2012系统中检查TCP 80端口是否正常工作的方法。
说明:在Windows 2012系统的Windows实例中安装IIS服务为例。
登录ECS 管理控制台,确认实例所在安全组里已经添加以下安全组规则。
网络类型 | 网卡类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权类型 | 授权对象 | 优先级 |
---|---|---|---|---|---|---|---|---|
VPC 网络 | 不需要配置 | 入方向 | 允许 | HTTP(80) | 80/80 | 地址段访问 | 10.0.0.0/8 | 1 |
经典网络 | 公网 |
参见远程连接 Windows 实例,登录Windows实例。
以下是查看IIS服务是否已经开启的操作步骤:
以下是查看端口在实例中是否正常被监听的操作步骤:
netstat -ano | findstr :80如果返回类似
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
,则说明80端口正常全网监听。如果返回的不是该端口,请在Internet Information Services (IIS)管理器窗口中,单击指定网站,然后单击右侧操作栏中的绑定,将绑定的端口该为80端口。以下是查看实例里防火墙是否已经放行Web服务的操作步骤:
以下是在Windows Server 2008系统中检查TCP 80端口是否正常工作的方法。
说明:以在Windows 2008系统的Windows实例中安装IIS服务为例。
登录ECS 管理控制台,确认实例所在安全组里已经添加以下安全组规则。
网络类型 | 网卡类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权类型 | 授权对象 | 优先级 |
---|---|---|---|---|---|---|---|---|
VPC 网络 | 不需要配置 | 入方向 | 允许 | HTTP(80) | 80/80 | 地址段访问 | 10.0.0.0/8 | 1 |
经典网络 | 公网 |
以下是查看IIS服务是否已经开启的操作步骤。
以下是查看端口在实例中是否正常被监听的操作步骤。
netstat -ano | findstr :80如果返回
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
,则说明80端口正常全网监听。如果返回的不是该端口,请在Internet Information Services (IIS)管理器窗口中,单击指定网站,然后单击右侧操作栏中的绑定,将绑定的端口该为80端口。以下是查看实例里防火墙是否已经放行Web服务的操作步骤。
以下是在CentOS 7.3系统中检查TCP 80端口是否正常工作的方法。
说明:以在CentOS 7.3系统的Linux实例中安装Nginx服务为例。
登录ECS 管理控制台,确认实例所在安全组里已经添加以下安全组规则。
网络类型 | 网卡类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权类型 | 授权对象 | 优先级 |
---|---|---|---|---|---|---|---|---|
VPC 网络 | 不需要配置 | 入方向 | 允许 | HTTP(80) | 80/80 | 地址段访问 | 10.0.0.0/8 | 1 |
经典网络 | 公网 |
执行以下运行命令。
systemctl status nginx如果系统返回类似如下,则说明Nginx已经启动。如果未开启,则执行
systemctl start nginx
命令。执行以下命令,查看端口在实例中是否正常被监听。
netstat -an | grep 80如果返回
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
,则说明80端口正常全网监听。如果返回的不是上述结果,请修改监听地址。关于如何修改监听地址,请参见如何修改Nginx服务端口监听地址。CentOS 7之后的版本默认安装Firewalld。如果已经启用firewalld.service
,则需要放行 TCP 80 端口。执行以下命令。若返回结果为success
,则表示已经放行TCP 80端口。
firewall-cmd --add-port=80/tcp --permanent
使用CentOS 7之前的版本并开启默认防火墙iptables时,应注意iptables默认不拦截访问,如果配置了iptables规则,需要执行以下步骤。
- 查看规则列表:执行命令
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
。- 保存上述规则,执行命令
service iptables save
。
以下是在Ubuntu 16.04系统中检查TCP 80端口是否正常工作的方法。
说明:以在Ubuntu 16.04系统的Linux实例中安装Apache2 Web服务器为例。
登录ECS 管理控制台,确认实例所在安全组里已经添加以下安全组规则。
网络类型 | 网卡类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权类型 | 授权对象 | 优先级 |
---|---|---|---|---|---|---|---|---|
VPC 网络 | 不需要配置 | 入方向 | 允许 | HTTP(80) | 80/80 | 地址段访问 | 10.0.0.0/8 | 1 |
经典网络 | 公网 |
查看Apache2 Web服务器是否已经开启。执行命令service apache2 status
。如果返回以下结果,说明 Apache2 Web服务器已经启动。如果未开启,执行命令 service apache2 start
。
执行以下命令,查看端口在实例中是否正常被监听。
netstat -an | grep 80如果返回
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
,则说明80端口正常全网监听。如果返回的不是上述结果,请修改监听地址。关于如何修改监听地址,请参见如何修改Apache服务端口监听地址。如果您已经启用UFW(Ubuntu 预装防火墙),需要放行TCP 80端口或HTTP服务。执行命令ufw allow 80/tcp
或ufw allow http
。返回结果为Rule added
表示已经放行TCP 80端口或HTTP服务。
说明:如果实例中已经安装Firewalld并且已经启用firewalld.service,若需要放行 TCP 80 端口,执行命令
firewall-cmd --add-port=80/tcp --permanent
。返回结果为success
即表示已经放行TCP 80端口。