linux

Nginx怎样配置防火墙规则

小樊
40
2025-10-29 14:47:00
栏目: 编程语言

Nginx 本身不直接提供防火墙功能,但可以与操作系统的防火墙(如 iptables、ufw 或 firewalld)结合使用,以实现对 HTTP 和 HTTPS 请求的控制。以下是如何配置防火墙规则以允许 Nginx 服务器接收流量的示例:

使用 iptables

  1. 允许 HTTP (80) 和 HTTPS (443) 流量

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  2. 拒绝所有其他流量

    sudo iptables -A INPUT -j DROP
    
  3. 保存规则(具体命令取决于你的操作系统):

    • 在 Debian/Ubuntu 上:
      sudo iptables-save > /etc/iptables/rules.v4
      
    • 在 CentOS/RHEL 上:
      sudo service iptables save
      

使用 ufw

  1. 启用 ufw

    sudo ufw enable
    
  2. 允许 HTTP 和 HTTPS 流量

    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    
  3. 查看 ufw 状态

    sudo ufw status
    

使用 firewalld

  1. 启用 firewalld

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 允许 HTTP 和 HTTPS 流量

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    
  3. 重新加载防火墙配置

    sudo firewall-cmd --reload
    
  4. 查看 firewalld 状态

    sudo firewall-cmd --list-all
    

注意事项

通过以上步骤,你可以配置操作系统的防火墙以允许 Nginx 服务器接收 HTTP 和 HTTPS 请求。

0
看了该问题的人还看了