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