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

2017-09-13 22:12:50

目录
  • Windows Server 2012
  • Windows Server 2008
  • CentOS 7.3
  • Ubuntu 16.04

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

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

本文分别介绍在不同操作系统中如何检查 TCP 80 端口是否正常工作:

Windows Server 2012

这部分以在 Windows 2012 上安装 IIS 服务为例,说明在 Windows 实例中如何检查 TCP 80 端口是否正常工作。

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

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

  3. 查看 IIS 服务是否已经开启:

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

    1. 启动 命令提示符
    2. 运行命令:netstat -ano | findstr :80。如果返回以下命令,表示 80 端口正常全网监听:
      1. TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

      如果返回的不是上述结果,一般需要修改监听地址,参考文档:nginx/Tomcat/IIS 更改端口监听地址的方法

  5. 查看实例里防火墙是否已经放行 Web 服务:

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

完成上述检查,如果您仍不能通过 http://公网 IP 地址 访问您的实例,请您 提交工单 咨询。

Windows Server 2008

这部分以在 Windows 2008 上安装 IIS 服务为例,说明在 Windows 实例中如何检查 TCP 80 端口是否正常工作。

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

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

  3. 查看 IIS 服务是否已经开启:

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

    1. 启动 命令提示符
    2. 运行命令:netstat -ano | findstr :80。如果返回以下命令,表示 80 端口正常全网监听:
      1. TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

      如果返回的不是上述结果,一般需要修改监听地址,参考文档:nginx/Tomcat/IIS 更改端口监听地址的方法

  5. 查看实例里防火墙是否已经放行 Web 服务:

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

完成上述检查,如果您仍不能通过 http://公网 IP 地址 访问您的实例,请您 提交工单 咨询。

CentOS 7.3

这部分以在 CentOS 7.3 上安装 nginx 服务为例,说明在 Linux 实例中如何检查 TCP 80 端口是否正常工作。

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

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

  3. 查看 nginx 服务是否已经开启:运行命令 systemctl status nginx。如果返回以下结果,说明 nginx 已经启动。如果未开启,运行命令 systemctl start nginx

  4. 查看端口在实例中是否正常被监听:运行命令 netstat -an | grep 80。如果返回以下结果,表明 TCP 80 端口正在被正常监听。

    1. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN

    如果返回的不是上述结果,一般需要修改监听地址,参考文档:nginx/Tomcat/IIS 更改端口监听地址的方法

  5. CentOS 7 以后版本默认安装 Firewalld。如果您已经启用 firewalld.service,需要放行 TCP 80 端口:运行命令 firewall-cmd --add-port=80/tcp --permanent。返回结果为 success 即表示已经放行 TCP 80 端口。

    使用 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

完成上述检查,如果您仍不能通过 http://公网 IP 地址 访问实例,请您 提交工单 咨询。

Ubuntu 16.04

这部分以在 Ubuntu 16.04 上安装 Apache2 Web 服务器为例,说明在 Linux 实例中如何检查 TCP 80 端口是否正常工作。

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

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

  3. 查看 Apache2 Web 服务器是否已经开启:运行命令 service apache2 status。如果返回以下结果,说明 Apache2 Web 服务器已经启动。如果未开启,运行命令 service apache2 start

  4. 查看端口在实例中是否正常被监听:运行命令 netstat -an | grep 80,如果返回以下结果,表明 TCP 80 端口正在被正常监听。

    1. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN

    如果返回的不是上述结果,一般需要修改监听地址,参考文档:nginx/Tomcat/IIS 更改端口监听地址的方法

  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 端口。

完成上述检查,如果您仍不能通过 http://公网 IP 地址 访问您的实例,请您 提交工单 咨询。

检查 TCP 80 端口是否正常工作的更多相关文章

  1. 在 CentOS 7.3 上安装 nginx 服务为例,说明在 Linux 实例中如何检查 TCP 80 端口是否正常工作

    CentOS 7.3 这部分以在 CentOS 7.3 上安装 nginx 服务为例,说明在 Linux 实例中如何检查 TCP 80 端口是否正常工作. 登录 ECS 管理控制台,确认实例所在安全组 ...

  2. 查看80端口被占用的方法(IIS、apmserv、system)

    端口如果被其他程序占用就不能正常启动,比如有时启动时会提示WEB启动失败,其实就是80 端口被占用了,而迅雷等下载软件恰恰就是占用了80端口,关掉就行了.但有时迅雷等都没有开 也启动不了,那就是别的东 ...

  3. Mac下如何进行端口转发,方便一系列需要使用80端口进行的调试工作

    上篇文章介绍到,可以在本地hosts文件中添加一条记录将微信公众号中的可信域名解析道本地127.0.0.1,但tomcat在Mac下非root权限80端口是启动不了的,所以我们可以利用pfctl端口转 ...

  4. 启动nginx 80端口被占用:tcp 0 0 127.0.0.1:80 127.0.0.1:34932 TIME_WAIT -

    1.启动nginx命令./sbin/nginx 2.提示80端口被占用 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already ...

  5. nginx反向代理tcp协议的80端口

    需求:内网有一台mqtt协议服务器,需要将外网的mqtt请求通过一台服务器代理到内网的mqtt服务器上.而这台代理服务器不会开放出了80之外的端口,所以只能使用80端口来转发mqtt请求. 步骤:1. ...

  6. Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理

    通过我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做.至 ...

  7. 解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问

    前阵子在虚拟机上装好了centos6.0,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了. 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3. ...

  8. linux 防火墙开启80端口永久保存

    经常使用CentOS的朋友,可能会遇到和我一样的问题.开启了防火墙导致80端口无法访问,刚开始学习centos的朋友可以参考下.经常使用CentOS的朋友,可能会遇到和我一样的问题.最近在Linux ...

  9. CentOS中iptables防火墙 开放80端口方法

    开放端口:  代码如下 复制代码 [root@WX32 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT 保存配置:  代码如下 复制代码 [root ...

随机推荐

  1. VIM:Found a swap file by the name

    在linux下用vi或vim打开Test.java文件时 [root@localhost tmp]# vi Test.java出现了如下信息: E325: ATTENTION    Found a s ...

  2. 【leetcode】492. Construct the Rectangle

    problem 492. Construct the Rectangle 参考 1. Leetcode_492. Construct the Rectangle; 完

  3. CSS选择器中的特殊性

    我们来看一下一个简单的例子: <!DOCTYPE html><html lang="en"><head> <meta charset=&q ...

  4. HTML5-全局属性

    HTML5-全局属性 HTML 属性赋予元素意义和语境.全局属性可用于任何 HTML 元素. contentEditable - 规定元素内容是否可编辑.- 注释:如果元素未设置 contentedi ...

  5. rem,em,与px的比较用法

    在Web中使用什么单位来定义页面的字体大小,至今天为止都还在激烈的争论着,有人说PX做为单位好,有人说EM优点多,还有人在说百分比方便,以至于出现了CSS Font-Size: em vs. px v ...

  6. 2019南昌邀请赛 L 计算几何 G(待补)

    #include<bits/stdc++.h> const double PI=acos(-1.0); ; using namespace std; struct Point { doub ...

  7. 各种BUG

    1.下载VS2005,版本太低和win10不好兼容 2.由于提前下载好了,visual studio2010,在下载VS2012过程中提示说检测到要更新VS2010才可以,百度后,返回安装上一步,取消 ...

  8. myBatis---接口代理开发(demo)

    一.概述 使用接口代理开发,可以不用写接口的实现类,而采用的是MapperFactoryBean代理的实现类. * 接口代理方式开发,遵循四大原则 * 1.方法名 == mapper.xml的id名 ...

  9. Web 安全之 XSS 攻击与防御

    前言 黑客,相信大家对这一名词并不陌生,黑客们往往会利用 Web 应用程序的漏洞来攻击咱们的系统.开放式 Web 应用程序安全项目(OWASP, Open Web Application Securi ...

  10. 使用IDEA创建SSM框架