安全组
安全组一般在云服务器控制台配置,属于云平台层面的访问规则。外部流量想进入服务器,通常需要先通过安全组。
- 在云平台控制台设置
- 控制公网入口访问
- 常用于放行 22、80、443 等端口
很多端口打不开的问题,都是因为只配置了其中一个。云服务器通常需要同时检查安全组、系统防火墙和服务监听状态。
安全组一般在云服务器控制台配置,属于云平台层面的访问规则。外部流量想进入服务器,通常需要先通过安全组。
系统防火墙在服务器内部,例如 firewalld、ufw、iptables。即使安全组放行了,系统防火墙拦截也会导致端口无法访问。
端口开放不代表服务一定可访问。还需要确认程序是否正在监听对应端口,比如 Nginx 是否监听 80/443,宝塔是否监听面板端口。
不是所有端口都建议公网开放。数据库、Redis、FTP 等端口如无必要,建议限制来源 IP 或仅内网使用。
| 端口 | 协议 | 用途 | 是否建议公网开放 | 说明 |
|---|---|---|---|---|
| 22 | TCP | SSH 远程登录 | 按需开放 | Linux 远程登录端口,建议限制来源 IP 或修改默认端口。 |
| 80 | TCP | HTTP 网站访问 | 建议开放 | 网站普通访问端口,部署网站通常需要开放。 |
| 443 | TCP | HTTPS 网站访问 | 建议开放 | 网站 SSL/HTTPS 访问端口,正式网站建议开放。 |
| 8888 | TCP | 宝塔面板默认端口 | 按需开放 | 宝塔面板常见默认端口,建议修改默认端口并限制来源 IP。 |
| 3306 | TCP | MySQL 数据库 | 不建议全网开放 | 数据库端口不建议对公网开放,需要远程连接时建议限制固定 IP。 |
| 6379 | TCP | Redis 服务 | 不建议全网开放 | Redis 端口暴露风险较高,建议仅本地或内网访问。 |
| 21 | TCP | FTP 控制端口 | 按需开放 | FTP 还可能涉及被动端口范围,建议尽量使用更安全的传输方式。 |
| 3389 | TCP | Windows 远程桌面 | 按需开放 | Windows 远程端口,建议设置强密码并限制来源 IP。 |
| 8080 | TCP | 常见 Web 服务端口 | 按需开放 | 常用于测试站点、代理服务或后台服务,按业务需求开放。 |
| 8443 | TCP | 常见 HTTPS 管理端口 | 按需开放 | 部分面板或应用使用该端口作为 HTTPS 管理入口。 |
以下命令适合基础排查和放行端口。生产环境操作前建议确认端口用途,避免误开放高风险端口。
systemctl status firewalld
firewall-cmd --list-all
firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload
ufw status
ufw allow 80/tcp
ss -lntp
端口打不开不一定是服务器故障,通常需要按顺序检查安全组、防火墙、服务监听和应用配置。
先确认对应服务是否正常运行,例如 Nginx、宝塔、MySQL 或应用程序。
systemctl status nginx
如果服务没有监听端口,即使安全组放行了也无法访问。
ss -lntp
确认 firewalld、ufw 或 iptables 是否拦截了对应端口。
firewall-cmd --list-all
在云服务器控制台确认入方向规则是否放行对应端口和协议。
开放 TCP 80 / 443 / 22 等所需端口
不同业务场景需要开放的端口不同,尽量只开放业务必须端口,减少服务器暴露面。
重点检查 80、443 端口是否开放,Nginx/Apache 是否启动,域名是否解析到正确 IP。
检查宝塔面板端口是否正确、安全组是否放行、系统防火墙是否拦截。
检查 22 端口、安全组、系统防火墙、SSH 服务状态和服务器登录信息。
不建议直接全网开放 3306。确需远程连接时,应限制固定来源 IP,并检查数据库授权。
端口不是开放越多越好。只开放必要端口,并尽量限制来源 IP,是基础安全习惯。
网站通常只需要 80、443,远程管理只按需开放 SSH 或远程桌面端口。
SSH、宝塔、Windows 远程桌面等管理端口建议限制固定 IP 访问。
MySQL、Redis、MongoDB 等数据库端口不建议公网开放,避免被扫描攻击。