安全组是云服务器的虚拟防火墙,必须放行80(http)和443(https)tcp入方向端口,源ip最小化授权,且需绑定到实例才能生效;出方向通常默认放行。

要让 Web 服务器对外提供 HTTP 和 HTTPS 服务,光配好 Nginx 或 IIS 还不够——80 和 443 端口必须在云平台层的“安全组”中明确放行。这是公网访问的第一道闸门,配置不对,请求根本到不了系统防火墙。
明确安全组作用域与规则方向
安全组是云服务器(如阿里云、腾讯云、AWS)提供的虚拟防火墙,只控制进出实例的网络流量。对 Web 服务而言,关键只需配置入方向(Inbound)规则,因为客户端请求是从外网发向服务器的。
- 出方向(Outbound)通常默认全放行,无需额外操作
- 规则生效前提是:该安全组已绑定到你的目标云服务器实例
- 多台服务器共用一个安全组时,修改会影响所有绑定实例,建议按业务隔离新建专属组
添加精准的 TCP 入站规则
不要用“全部端口”或“自定义 UDP”这类宽泛选项。Web 服务使用的是 TCP 协议,且仅需两个端口:
- 协议类型选 TCP
- 端口范围填 80/80(HTTP)和单独一条 443/443(HTTPS),不建议合并写成 80-443
- 源地址(Source)务必最小化:
– 测试阶段可用 0.0.0.0/0(允许任意 IP)
– 生产环境强烈建议限定为具体 CIDR 段,例如公司办公网段 203.123.45.0/24 或 CDN 回源 IP 段
区分环境,避免过度开放
同一套规则不能通吃所有场景:
- 开发/测试环境:可设为“专用”安全组,仅开放 80/443 + SSH(22)给运维 IP,禁用其他端口
- 生产 Web 环境:除 80/443 外,禁止开放数据库端口(如 3306)、面板端口(如宝塔 8888)到公网;若需远程管理,改用跳板机或 VPC 内网访问
- HTTPS 强制跳转场景:仍需同时放行 80 端口——否则浏览器首次访问 http:// 会直接超时,无法触发 301 跳转到 https://
验证与联动检查
规则保存后,不代表立刻生效,还需确认三件事:
- 在云控制台刷新页面,确认规则状态为“已启用”且无报错提示
- 登录服务器,执行 firewall-cmd --list-all(CentOS/RHEL)或 Get-NetFirewallRule -DisplayName "*80*"(Windows)检查系统级防火墙是否也已同步放行
- 用外部工具测试连通性,例如:
– telnet your-domain.com 80
– 或访问 portchecker.co 输入域名+端口号










