
本文介绍在LNMP (Linux, Nginx, MySQL, PHP) 环境下配置防火墙的多种方法,选择哪种方法取决于你的Linux发行版和具体需求。
方法一:使用iptables
iptables是Linux系统中常用的防火墙工具。
查看当前规则: 使用 sudo iptables -L 命令查看当前iptables规则。
设置默认策略: 设置默认策略为拒绝所有入站连接,允许所有出站连接:
<code class="bash">sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT</code>
添加允许规则: 允许HTTP和HTTPS流量:
<code class="bash">sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # HTTP sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS</code>
保存规则: 使用 sudo iptables-save > /etc/iptables/rules.v4 保存规则 (路径可能因系统而异)。
启用并启动iptables: 使用你的系统管理工具启用并启动iptables服务 (例如 sudo systemctl enable iptables 和 sudo systemctl start iptables )。 重启iptables服务使配置生效 (sudo systemctl restart iptables)。
方法二:使用firewalld
firewalld是许多现代Linux发行版中更用户友好的防火墙管理工具。
查看firewalld状态: 使用 sudo systemctl status firewalld 命令查看firewalld的状态。
关闭firewalld (可选): 如果你想完全禁用firewalld,可以使用 sudo systemctl stop firewalld 和 sudo systemctl disable firewalld 命令。 注意: 不建议完全禁用防火墙,除非你完全了解风险。
添加服务: 允许HTTP和HTTPS服务:
<code class="bash">sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https</code>
重新加载配置: 使用 sudo firewall-cmd --reload 命令重新加载firewalld配置。
方法三:使用ngx_lua_waf (Web应用防火墙)
ngx_lua_waf是一个基于Nginx和Lua的Web应用防火墙,提供更高级的防护功能。这需要一定的Lua和Nginx配置经验。
安装ngx_lua_waf: 下载并安装ngx_lua_waf (安装步骤可能因版本而异,请参考ngx_lua_waf的官方文档)。
配置Nginx: 在你的Nginx配置文件中添加ngx_lua_waf模块的配置,包括规则路径、日志路径、白名单和黑名单等。 (请参考ngx_lua_waf的官方文档进行详细配置)。
重启Nginx: 使用 sudo service nginx reload 命令重启Nginx使配置生效。
选择以上方法中的任何一种,都需要根据你的实际情况进行调整。 记住在修改防火墙规则后,务必测试你的应用是否能够正常访问。 不正确的防火墙配置可能会导致你的服务器无法访问。 强烈建议在生产环境中进行操作前,先在测试环境中进行测试。
以上就是LNMP中如何配置防火墙规则的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号