Nginx二进制安装后需手动配置防火墙放行端口,Windows用wf.msc添加TCP入站规则,Linux用firewall-cmd --permanent放行并reload,还需检查第三方安全软件拦截,最后从外部设备验证访问。

Nginx 二进制安装后,防火墙不会自动放行端口——哪怕 Nginx 进程已成功监听 80 或 8080,外部请求仍可能被系统防火墙拦截。必须手动配置入站规则,让对应端口对外可见。
确认 Nginx 监听的端口
先检查你的 nginx.conf 中 listen 指令,例如:
server {
listen 80;
listen 8080 ssl;
}记下实际使用的端口(如 80、443、8080、8888 等),后续放行需一一对应。
Windows 系统:用高级安全防火墙添加入站规则
- 按
Win + R,输入wf.msc打开“高级安全 Windows 防火墙” - 左侧点“入站规则”,右侧点“新建规则…”
- 类型选“端口” → 协议选 TCP → 输入你要放行的端口(如
80,8080,英文逗号分隔) - 操作选“允许连接”
- 配置文件勾选“域、专用、公用”(家用网络通常全选)
- 名称建议写明用途,例如
Nginx-HTTP-and-DevPort
Linux 系统(firewalld):命令行快速放行
# 放行单个端口(如80) sudo firewall-cmd --permanent --add-port=80/tcp # 放行多个端口(如80和8080) sudo firewall-cmd --permanent --add-port=80/tcp --add-port=8080/tcp # 生效配置 sudo firewall-cmd --reload # 查看当前开放端口确认 sudo firewall-cmd --list-ports
注意第三方安全软件
若装了 360、火绒、腾讯电脑管家等,它们自带防火墙,会独立拦截连接。仅配系统防火墙不够,还需在对应软件界面中手动添加“允许 Nginx.exe(或 nginx 主进程)通过防火墙”,并勾选“公用网络”。
验证是否生效
- 本机用
curl http://127.0.0.1:8080能通 ≠ 外部能访问 - 从另一台设备(如手机、同事电脑)用浏览器访问
http://你的服务器IP:8080 - 若打不开,优先检查防火墙规则是否启用、端口是否拼错、是否遗漏“--permanent”导致重启后失效
不复杂但容易忽略


















