适用于 ThinkPHP 的 Linux 服务器防火墙配置
一、先确认系统与防火墙工具
cat /etc/os-release二、按发行版配置防火墙
sudo systemctl start firewalld && sudo systemctl enable firewalldsudo firewall-cmd --permanent --zone=public --add-service=http --add-service=https --add-port=22/tcpsudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="3306" protocol="tcp" accept'sudo firewall-cmd --reloadsudo firewall-cmd --list-allsudo ufw default deny incoming && sudo ufw default allow outgoingsudo ufw allow 22,80,443/tcpsudo ufw enablesudo ufw status verbosesudo cp /etc/sysconfig/iptables /etc/sysconfig/iptables.baksudo vi /etc/sysconfig/iptables,在合适位置添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPTsudo service iptables restartiptables-save 持久化。三、ThinkPHP 场景的端口与访问策略
sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent && sudo firewall-cmd --reloadgetenforce 返回 Enforcing,可临时 sudo setenforce 0 验证是否为 SELinux 限制;生产环境请改为针对性的策略而非长期关闭。四、验证与故障排查
telnet 服务器IP 80 或 curl -I http://服务器IPnc -zv 服务器IP 443sudo firewall-cmd --list-all;sudo journalctl -u firewalld -fsudo ufw status verbose五、安全加固建议
iptables-save 保存至 /etc/iptables/rules.v4),并定期审计规则。