当前位置:首页 > 云服务器 > 正文

web服务器一般开什么端口号

web服务器一般开什么端口号?答案很直接:80端口和443端口是web服务的“官方默认”,80处理HTTP明文流量,443处理HTTPS加密流量。绝大多数网站部署时,至少要放开这两个端口,如果你用开发框架或内网测试,8080和8000也很常见,其他端口号更多是辅助角色,比如数据库、SSH远程管理,这些不该随便暴露在公网。

web服务器端口号有哪些,一张对照表讲清楚

对于刚接触服务器的人来说,端口号像公寓楼里的房间号,公网IP是小区地址,端口号就是具体的门牌,用户访问你网站时,浏览器默认替你敲了门牌号:HTTP协议走80,HTTPS协议走443,所以你输入example.com,浏览器实际访问的是example.com:80。

不同服务在web服务器上通常监听的端口,列出来看更直观:

web服务器常见端口功能对照表

端口号 服务类型 典型用途 说明
80 HTTP 网站主入口 未经加密的网页流量,浏览器默认访问端口
443 HTTPS 网站主入口 TLS加密流量,当前主流网站的首选
8080 HTTP代理/备用 开发测试、反向代理 端口80被占用时的常见替代
8000 HTTP开发服务器 Python、Node.js本地调试 Django、Flask等框架默认启动端口
8888 面板管理 宝塔、LNMP等管理面板 按需开启,用完建议关闭
3306 MySQL数据库 数据库外部连接 部署在同一台服务器时无需对外开放
22 SSH远程管理 服务器远程运维 不归属于web服务,但运维web服务器必用

你发现没有,80和443是web服务的脸面,其他端口只是“后勤部门”,我们常说的“开端口”,本质上是在防火墙或安全组规则里,明确允许外部流量到达某个端口的进程。

为什么web服务器默认用80和443端口

行业共识认为,80和443之所以成为“通用语言”,是因为它们写进了HTTP协议的超文本传输规范里,浏览器和服务器之间要对话,总得有个固定的“接头暗号”,80和443就是这组暗号。

80端口:最早的HTTP入口

HTTP协议诞生之初,80就被指定为默认监听端口,用户访问网站时,URL里不写端口,浏览器就默认往80发请求,这种“默认值”带来的好处是巨大的:用户少敲几个字符,链接更短,分享更方便。

80端口的特点:

  • 明文传输,所有数据包可以直接被抓包读取
  • 对服务器性能要求略低,没有加密握手消耗
  • 适合处理不敏感数据的跳转请求

443端口:加密时代的接管者

现在的网站,绝大多数都上了HTTPS。443端口承载的是TLS/SSL加密流量,从用户浏览器到服务器之间,数据全程加密,中间人无法窃听或改动。 2017年后,浏览器厂商开始强制标注“不安全”提示,谷歌、火狐等浏览器逐步把HTTPS当作默认门槛,据工信部相关数据,目前国内主流网站的HTTPS覆盖率已达到相当高的比例。

面向用户的网站几乎都会同时开启80和443端口,80负责把HTTP请求301重定向到HTTPS地址,用户就算手动输入http://开头,也会被无缝迁到加密链路。

web服务器端口号怎么修改,分场景讲操作路径

有时候默认端口不够用,比如你在一台服务器上部署多个网站,或者80端口被运营商封禁(国内部分云厂商对未备案域名限制80端口),就需要手动改端口。

Nginx修改监听端口

Nginx是当前市场占有率最高的web服务器软件,定位到配置文件,一般位于/etc/nginx/nginx.conf,或者/etc/nginx/conf.d/目录下站点的conf文件。

# 修改前先备份 cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak # 编辑配置文件 vim /etc/nginx/nginx.conf

找到server块里的listen指令:

server { listen 8080; # 将80改为你想要的值 server_name example.com; root /var/www/html; }

改完重载配置让变更生效:

nginx -t # 先检查语法是否正确 systemctl reload nginx

修改端口后别忘了两件事:

  • 在云服务商控制台的安全组里放行新端口,否则外部依然访问不通
  • 如果网站有CDN或负载均衡,源站端口也要同步修改

Apache修改监听端口

Apache的配置入口是/etc/httpd/conf/httpd.conf(CentOS系)或/etc/apache2/ports.conf(Ubuntu系)。

Listen 8080 <VirtualHost :8080> ServerName example.com DocumentRoot /var/www/html </VirtualHost>

修改后执行:

apachectl configtest systemctl restart httpd

Linux防火墙放行端口

服务器内部防火墙有时会拦下新端口,用firewalld或iptables操作:

# firewalld 放行8080 firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload # iptables 放行8080 iptables -A INPUT -p tcp --dport 8080 -j ACCEPT service iptables save

云服务器用户最常踩的坑:改了web服务器配置、关了防火墙,但安全组里忘了加规则,那就好比你在屋里开了门,小区门卫却不放人进来,操作时一定把控制台安全组和服务器防火墙一起检查。

网站服务器端口配置linux有哪些安全讲究

端口号开多了,等于给攻破者多开几扇门,业内的安全惯例是只暴露必要的端口,其他一律关闭

不该暴露的端口清单

端口 服务 风险等级 暴露后果
22 SSH 密码爆破,服务器被植入木码
3306 MySQL 数据库被脱库,数据被索要
6379 Redis 未授权访问,直接写计划任务反弹shell
8888 宝塔面板 后台被暴力免费

多数情况下,数据库和web服务放在同一台服务器时,数据库端口只需监听内网IP,完全没有必要暴露到公网,比如MySQL只监听127.0.0.1,外部连不上,数据就多一层保险。

端口配置的几条实操建议

  • SSH端口从22改成高位端口(比如22222),显著减少自动化攻破脚本的试探次数,这个操作虽然治标不治本,但能过滤掉相当一部分噪音攻破
  • 用密钥登录取代密码登录,端口爆破基本失效
  • 对Web服务开启Fail2ban之类的防护工具,连续输错密码的IP会被自动拉黑
  • 用云安全组做第一层过滤,服务器防火墙做第二层,两层规则独立维护,不要只依赖其中一层

快速自查开放端口的命令

ss -tlnp | grep LISTEN

这条命令列出所有正在监听的TCP端口,对照你的业务需求,逐一确认每个端口是否必要,看到不认识的监听端口,就是排查的信号。

关于web服务器端口被占用和访问异常的排查思路

配置端口时经常会遇到“改完还是打不开”“端口明明开了却连不上”这类问题,排查思路按顺序来,不绕弯子。

端口被占用怎么办

启动web服务时提示Address already in use,说明端口被其他进程占了。

# 查看哪个进程占用了8080端口 lsof -i :8080 # 或者用ss命令 ss -tlnp | grep 8080

如果确认那个进程不需要,直接释放:

kill -9 进程PID

外部访问不到端口

检查链路按这个顺序走:

  • 服务本身是否正常监听:ss -tlnp看端口状态是否为LISTEN
  • 本机防火墙是否放行:firewall-cmd --list-all确认端口已添加
  • 云安全组是否放行:登录云控制台检查入方向规则
  • 本地网络测试:telnet 服务器公网IP 端口号,能通说明链路没问题

这条排查路径覆盖了大多数“端口没开”的场景,多数情况下是安全组规则遗漏或服务绑定在127.0.0.1上,只监听了本机回环地址。

关于web服务器端口的常见疑问解答

为什么80端口被占用,查出来是nginx说端口已启用?

这种情况多数是重复配置引起的,Nginx配置里两个server块同时写了listen 80,主配置和conf.d下的子配置冲突,把多余的监听删掉,保留一个明确指向站点目录的配置即可,检查方式是nginx -T输出所有生效配置,搜索80端口出现的位置。

不开放80端口,只用443端口可以吗?

完全可以,如果你的网站启用了HTTPS,可以将80端口配置为跳转到443,也可以直接关闭80的监听,但实际操作中不建议直接关闭,因为用户手输域名时浏览器默认请求80端口,如果80端口无响应,访问体验会打折扣,更好的是保留80端口,返回301重定向到HTTPS地址。

8080端口和80端口访问有什么区别?

从用户角度看,访问example.com:8080会带端口号,URL不美观且不利于分享,从服务器角度看,8080往往被用作备用端口或反向代理的转发端口,生产环境面向公网用户,优先使用80和443标准端口,8080更适合开发调试或内网使用。

小结

web服务器最终要开启哪些端口,取决于业务类型,面向公网的网站,务必确保80和443端口稳定可用;内网开发和测试环境,8080和8000能满足大部分场景;数据库和远程管理端口按最小暴露原则配置。端口不是开得越多越好,而是够用、可控、可审计。 建议每次修改端口配置后,做一次全端口扫描自查,确认开放情况与预期完全一致。

0