您现在的位置是:探索 >>正文
centos7允许443和80端口防火墙
探索65254人已围观
简介CentOS 7 默认的 firewalld 策略把 80 和 443 挡在外面,哪怕 Nginx 或 Apache 已经跑起来,外网照样打不开。这不是服务的问题,是防火墙没放行。我见过不少人折腾半天 ...
CentOS 7 默认的允许 firewalld 策略把 80 和 443 挡在外面,哪怕 Nginx 或 Apache 已经跑起来,和端火墙外网照样打不开。口防这不是允许服务的问题,是和端火墙防火墙没放行。我见过不少人折腾半天配置文件,口防最后发现只是允许少了一条 firewall-cmd 命令。
先确认 firewalld 在跑。和端火墙终端敲:
systemctl status firewalld 看到绿色 active (running) 就对了。口防如果是允许 inactive,要么启动它,和端火墙要么你用的口防是 iptables——那是另一套逻辑,这里不展开。允许假设 firewalld 正常,和端火墙接下来的口防操作都在 root 权限下做。
放行 80 和 443 有两种写法。一种是按服务名,firewalld 内置了 http 和 https 两个服务定义,对应 80 和 443:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload 另一种是按端口号直接加:
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload 两种效果一样。用服务名可读性好一点,用端口号更直接。我习惯用端口号,因为有时候需要开 8080、8443 这类非标准端口,统一用 --add-port 不用去记服务名。
--permanent 这个参数不能省。不加的话,规则只在当前运行时生效,重启 firewalld 或系统重启后就没了。加了 --permanent 写进配置,但不会立刻生效,所以后面必须跟一条 --reload。这个顺序别搞反。
操作完验证一下:
firewall-cmd --list-all 输出里 services 行应该能看到 http https,或者 ports 行有 80/tcp 443/tcp。如果没有,说明命令没执行成功,检查有没有打错字。
有个坑得提一下。如果你在云服务器上操作,比如阿里云、腾讯云、AWS,光改 firewalld 不够。这些平台有自己的安全组,是一层独立于操作系统防火墙的网络过滤。安全组不放行 80 和 443,firewalld 配得再对也没用。我遇到过有人 centos 里 firewall-cmd 查出来端口开着,浏览器就是连不上,最后发现是控制台安全组没加规则。两边都检查,别只顾一头。
还有一种情况:SELinux 在拦。CentOS 7 默认 SELinux 是 enforcing 模式。如果你改了 Nginx 或 Apache 的监听端口,比如从 80 改成 8080,SELinux 会阻止绑定。标准 80 和 443 一般不受影响,但如果你把 web 服务装到了非标准路径,可能碰到 httpd_can_network_connect 被关掉的问题。临时排查可以 setenforce 0 试试,确认是 SELinux 的锅再针对性开策略,别直接永久关掉。
说回防火墙本身。firewalld 的 zone 概念也容易让人迷糊。默认网卡绑在 public zone,你加的规则进的是 public。如果服务器有多张网卡或者改过 zone 绑定,规则可能加到了错误的 zone 里。用 firewall-cmd --get-active-zones 看一眼当前活跃的 zone 是哪个,再往那个 zone 里加规则。
最后给一条懒人命令,一次性搞定:
firewall-cmd --permanent --add-port={ 80,443}/tcp && firewall-cmd --reload 大括号展开是 bash 的特性,firewall-cmd 本身不认,但 shell 会先展开成两条独立的参数传给命令。执行完 firewall-cmd --list-ports 确认一下就行。
整个过程不超过一分钟。关键是别忘了 --permanent 和 --reload 这对组合,以及云平台安全组那层。搞定了这两处,80 和 443 基本就不会再卡你。
Tags:
上一篇:登陆网站
下一篇:网络安全实战攻防演练风险规避方案
相关文章
用户渗透率计算公式
探索用户渗透率这件事,很多产品经理算了一辈子账,最后发现算的是自己的一笔糊涂账。公式本身简单得让人发笑:用户渗透率 = 使用过产品的用户数 ÷ 目标用户总数 × 100%。但问题从来不出在分子和分母的写法 ...
【探索】
阅读更多后台管理系统
探索后台管理系统这玩意儿,说穿了就是给内部人用的操作台。我见过最离谱的一个,是某物流公司花八十万定制的,打开首页居然要等六秒,加载个客户列表能转三圈菊花。技术总监拍着桌子说服务器带宽不够,结果后来查出来是 ...
【探索】
阅读更多非开挖水平钻定向穿越岩石怎么套取定额
探索非开挖水平定向钻穿越岩石,定额套取这事,真没多少人能一次搞对。干过几个工地,我见过预算员抱着定额本翻到半夜,最后还是套了个土质穿越的单价,结果被审计砍掉三成——那真不是技术问题,是定额理解出了岔子。 ...
【探索】
阅读更多