检查 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. 20175120彭宇辰 《Java程序设计》第六周学习总结

    教材学习内容总结 第七章 一.内部类与外部类的关系 1.内部类可以使用外嵌类的成员变量和方法.2.类体中不可以声明类变量和类方法,外部类可以用内部类声明对象.3.内部类仅供外嵌类使用.4.类声明可以使 ...

  2. 12集合(1)-----List

    一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...

  3. 本博客不再更新和维护,后续文章会在掘金和GitHub发布,感兴趣的小伙伴可以掘金搜索王振宇,谢谢

    本博客不再更新和维护,后续文章会在掘金和GitHub发布,感兴趣的小伙伴可以掘金搜索王振宇,谢谢

  4. mysql_索引

    .默认情况下大多使用Btree索引,该索引就是通常所见 唯一索引.聚簇索引等等,Btree用在OLTP,加快查询速度 查询表索引 show  index  from  tablename 查询表结构 ...

  5. uWSGI+Django (中)

    环境是ubuntu 14.0 python3  django 1.10 1:安装uwsgi sudo apt-get install libpcre3 libpcre3-dev sudo pip3 i ...

  6. Linux下安装Python3的django并配置mysql作为django默认数据库(转载)

    我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...

  7. C# DES加密类,16位的加密。

    这个加密类是与java写的DES加密不同时,自己写的,最后与Java的加密相同了,解决了加密后不同的问题. 可以直接调用里面的加密和解密的方法. using System; using System. ...

  8. JZ2440支持设备树(1)-添加设备树之后kernel的启动参数跟dts里面不一致

    在做之前参考了如下博客文章,再次非常感谢: http://www.cnblogs.com/pengdonglin137/p/6241895.html Uboot中需要在config中添加如下宏: #d ...

  9. 4. Traffic monitoring tools (流量监控工具 10个)

    4. Traffic monitoring tools (流量监控工具 10个)EttercapNtop SolarWinds已经创建并销售了针对系统管理员的数十种专用工具. 安全相关工具包括许多网络 ...

  10. C语言学习笔记之位运算求余

    我们都知道,求一个数被另一个数整除的余数,可以用求余运算符”%“,但是,如果不允许使用求余运算符,又该怎么办呢?下面介绍一种方法,是通过位运算来求余,但是注意:该方法只对除数是2的N次方幂时才有效. ...