温馨提示×

ubuntu nginx防火墙设置

小樊
46
2025-10-10 14:55:14
栏目: 智能运维

Ubuntu Nginx防火墙设置指南(基于UFW)

1. 安装并启用UFW

UFW(Uncomplicated Firewall)是Ubuntu默认的防火墙管理工具,简单易用。首先安装UFW:

sudo apt update
sudo apt install ufw

安装完成后启用UFW:

sudo ufw enable

启用后会提示“Command may disrupt existing ssh sessions”,输入y确认,确保防火墙启动。

2. 允许Nginx必要端口

Nginx默认使用80端口(HTTP)443端口(HTTPS),需开放这两个端口。推荐使用以下命令快速开放:

sudo ufw allow 'Nginx Full'

该命令会同时允许80/TCP和443/TCP端口。若需单独开放,可执行:

sudo ufw allow 80/tcp    # 允许HTTP
sudo ufw allow 443/tcp   # 允许HTTPS

3. 限制SSH访问(增强安全性)

SSH默认使用22端口,为防止未经授权的远程访问,建议仅允许可信IP地址访问:

sudo ufw allow from <你的IP地址> to any port 22

例如,若你的IP是192.168.1.100,则命令为:

sudo ufw allow from 192.168.1.100 to any port 22

若需临时允许所有IP访问(不推荐),可使用:

sudo ufw allow 22/tcp

4. 查看与管理防火墙规则

  • 查看当前规则:确认规则是否生效,使用以下命令:
    sudo ufw status
    
    输出会显示允许的端口及来源(如80/tcp ALLOW Anywhere)。
  • 查看详细规则(带编号):若需删除或修改规则,使用:
    sudo ufw status numbered
    
    会显示规则列表及编号(如[1] 80/tcp ALLOW Anywhere)。
  • 删除规则:若需移除某条规则,例如删除第1条规则,使用:
    sudo ufw delete 1
    

5. 测试与验证

  • 验证防火墙状态:确保UFW处于active状态(sudo ufw status显示Status: active)。
  • 验证端口开放:通过外部设备(如手机或电脑)访问服务器IP的80端口(http://<服务器IP>),若能看到Nginx欢迎页面,说明端口开放正常。
  • 验证SSH访问:从允许的IP地址尝试SSH登录(ssh <用户名>@<服务器IP>),确认能正常连接;从其他IP尝试,应被拒绝。

注意事项

  • 若使用HTTPS(443端口),需确保证书已正确配置(如Let’s Encrypt证书),否则浏览器会提示不安全。
  • 定期检查UFW规则,删除不必要的端口(如测试后不再使用的临时端口),减少安全风险。
  • 若UFW未生效,可检查是否与其他防火墙工具(如iptables)冲突,建议优先使用UFW管理防火墙。

0