娱乐

如何开启80端口

时间:2010-12-5 17:23:32  作者:知识   来源:知识  查看:  评论:0
内容摘要:去年帮朋友调一台测试服务器,死活连不上80端口。他以为防火墙没开,折腾半天,结果发现是服务压根没监听。这事挺典型——很多人把“开启80端口”理解成一道开关,拧一下就行。实际上它至少牵扯三层:服务有没有

去年帮朋友调一台测试服务器,何开死活连不上80端口。启端他以为防火墙没开,何开折腾半天,启端结果发现是何开服务压根没监听。这事挺典型——很多人把“开启80端口”理解成一道开关,启端拧一下就行。何开实际上它至少牵扯三层:服务有没有在跑、启端系统防火墙放不放行、何开云平台的启端安全组认不认。

先从最底下那层说起。何开80端口是启端给HTTP用的,你得有个东西真的何开蹲在那儿听。Nginx、启端Apache、何开Caddy,甚至一句 python3 -m http.server 80 都行。服务没起来,端口就是关的,跟防火墙无关。查这个很简单:ss -tlnp | grep :80,或者老一点的 netstat -tlnp | grep :80。输出里看到 LISTEN 才算数。我见过有人反复改 iptables,其实 nginx 配置里 listen 写成了 8080,白忙活。

服务确认在听了,再看系统防火墙。Linux 上现在主流是 firewalld 和 ufw 两派。CentOS / RHEL 系多半用 firewalld:

sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --reload

Ubuntu / Debian 系常用 ufw:

sudo ufw allow 80/tcp

iptables 直接写规则也行,但容易和上面的前端工具打架,不推荐新手硬刚。sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT 这条本身没错,问题是重启就没了,还得配 save。我自己的习惯是先用发行版自带的管理工具,别一上来就手写 iptables。

第三层最容易被忽略——云服务器的安全组。你在 AWS、阿里云、腾讯云上开机器,系统防火墙全放行了,外网还是连不上,八成是安全组没加80端口的入站规则。这个在控制台点几下就行,但它的优先级在系统防火墙之上。有次我帮人排查,firewalld 里80明明开着,curl 本地通,外网超时。最后发现是阿里云安全组只开了22和443。这种坑踩过一次就记住了:本地通、外网不通,先怀疑安全组。

还有一种情况,端口被别的进程占了。比如装了宝塔,它可能已经把80抢走。这时候你要么停掉那个服务,要么换端口。sudo lsof -i :80 能看出是谁占的。杀掉或者改配置,二选一。

另外提一句 SELinux。CentOS 上它默认开着的时候,就算防火墙放行了,nginx 想绑80也可能被拦。临时排查可以 setenforce 0 试试,确认是它的问题再改策略,别一直关着不管。生产环境关 SELinux 属于偷懒,但测试机上这么干的人不少。

顺序上我一般这么走:先确认服务在 listen,再查系统防火墙,最后看云安全组。从里到外,一层层排除。反过来先怀疑安全组也行,看你机器在哪儿。本地虚拟机就跳过第三层,云主机就三层都过一遍。

开80端口本身不复杂,复杂的是它散落在三个地方,每层都有自己的脾气。把这三层都捋顺,基本就不会再对着超时发呆了。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap