Nginx 本身不直接提供防火墙功能,但可以与操作系统的防火墙(如 iptables、ufw 或 firewalld)结合使用,以实现对 HTTP 和 HTTPS 请求的控制。以下是如何配置防火墙规则以允许 Nginx 服务器接收流量的示例:
允许 HTTP (80) 和 HTTPS (443) 流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
拒绝所有其他流量:
sudo iptables -A INPUT -j DROP
保存规则(具体命令取决于你的操作系统):
sudo iptables-save > /etc/iptables/rules.v4
sudo service iptables save
启用 ufw:
sudo ufw enable
允许 HTTP 和 HTTPS 流量:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
查看 ufw 状态:
sudo ufw status
启用 firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalld
允许 HTTP 和 HTTPS 流量:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
重新加载防火墙配置:
sudo firewall-cmd --reload
查看 firewalld 状态:
sudo firewall-cmd --list-all
通过以上步骤,你可以配置操作系统的防火墙以允许 Nginx 服务器接收 HTTP 和 HTTPS 请求。