一、什么是端口?为什么要开放? 端口是操作系统为不同网络服务分配的逻辑通道。每一个监听的服务(如Web服务、SSH连接、数据库访问)都绑定在一个特定端口上。要让外部用户访问服务器上的这些服务,就必须确保相关端口在服务器和防火墙层面都已开放。 二、常见的端口及用途 80端口(HTTP):用于网站的普通网页访问。 443端口(HTTPS):用于加密的网页访问。 8080端口:常作为备用或开发环境中的HTTP端口。 22端口(SSH):远程登录Linux服务器的通道。 3389端口(RDP):Windows远程桌面连接。 3306端口(MySQL):MySQL数据库默认访问端口。 25端口(SMTP):用于发送邮件,但许多云服务商默认封禁此端口。 特别说明: 三、开放端口的两层控制 开放端口并不仅仅是操作系统中的防火墙配置,还包括服务商安全策略。 四、程序未监听,端口不会自动“打开” 即使你在安全组和防火墙里放通了某个端口,如果没有程序绑定监听它,该端口依然无法访问。 例如: 25端口 是邮件服务(SMTP)的标准端口,但需要如 Postfix、Exim 等邮件服务软件在后台运行,且已绑定25端口。 如果你只是放开了 3306 端口,但 MySQL 服务未启动或未配置监听公网连接,该端口也不会响应外部请求。 五、开放端口需要保证以下几个关键步骤 1、服务商安全组已放通; 2、系统防火墙已配置; 3、目标程序已正确监听端口; 4、特殊端口(如80、443、8080)用于公网服务前应完成备案; Windows系统如何查看端口是否开放? 使用PowerShell的Test-NetConnection(Windows) Test-NetConnection -ComputerName IP地址 -Port 端口号 例如:Test-NetConnection -ComputerName 219.138.163.X -Port 22 (如下图所示,代表这个IP的22端口是开放的) 在 Windows 系统中,查看当前已开放和正在监听的端口状态,可以使用这种方法: 例如端口 3306 netstat -an | findstr :3306 如果没有输出,说明该端口未处于监听状态。
在国内,80、443、8080 这三个端口如果用于提供公网Web服务,必须完成ICP备案才能开放访问。其余大多数端口(如22、3306、3389等)则没有备案限制,可直接开放。