温馨提示×

nginx在centos上如何设置防火墙

小樊
51
2025-11-01 15:07:23
栏目: 智能运维

在CentOS上使用Nginx时,通常会结合firewalld来设置防火墙规则。以下是一些基本步骤来配置firewalld以允许Nginx流量:

  1. 安装firewalld(如果尚未安装):

    sudo yum install firewalld
    
  2. 启动firewalld服务:

    sudo systemctl start firewalld
    
  3. 启用firewalld服务(以便在系统启动时自动运行):

    sudo systemctl enable firewalld
    
  4. 检查firewalld状态:

    sudo firewall-cmd --state
    
  5. 开放HTTP和HTTPS端口: 默认情况下,Nginx使用80端口用于HTTP和443端口用于HTTPS。你可以使用以下命令来开放这些端口:

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    
  6. 重新加载firewalld配置: 为了让更改生效,你需要重新加载firewalld配置:

    sudo firewall-cmd --reload
    
  7. 验证端口是否已开放: 你可以使用以下命令来检查80和443端口是否已经添加到防火墙规则中:

    sudo firewall-cmd --list-all
    

    在输出中,你应该能够看到httphttps服务已经被添加到了public区域。

  8. 如果你需要指定特定的IP地址或范围来访问Nginx服务器,可以使用富规则(rich rules):

    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept'
    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="443" accept'
    sudo firewall-cmd --reload
    

    这将允许来自192.168.1.0/24网络的流量访问80和443端口。

请注意,这些步骤假设你的Nginx服务器已经正确安装并且正在运行。如果你的Nginx配置了SSL/TLS,确保你的证书和密钥文件安全,并且Nginx配置文件中的路径正确无误。

0