Win7搭建IIS/Apache/Nginx/WAMP/XAMPP等本地Web開發環境,或運行HTTP服務(端口80)需對外訪問時,必須在Windows防火牆「高級安全防火牆」中創建入站規則放行TCP 80端口。本文圖解標準規則創建流程,並說明常見誤區與驗證方法。

wf.msc)



80 → 下一步
Allow HTTP Port 80 Inbound → 描述可填 Allow inbound HTTP traffic for local web server → 完成netsh advfirewall firewall add rule name="Allow HTTP Port 80 Inbound" dir=in action=allow protocol=TCP localport=80 profile=domain,private enable=yes description="Allow inbound HTTP traffic for local web server"
僅域/專用網絡生效,公用網絡不生效(安全)。
https://localhost / https://127.0.0.1 → 應正常顯示Web頁面https://本機IP (如 https://192.168.1.100) → 應正常顯示netstat -an | findstr :80 → 應見 0.0.0.0:80 LISTENING 或 [::]:80 LISTENINGcanyouseeme.org) 驗證公網映射(需路由器端口映射/DMZ)| 現象 | 原因 | 解決 |
|---|---|---|
| 防火牆規則已加但局域網仍訪問不了 | Web服務器未綁定0.0.0.0:80 / 僅綁定127.0.0.1 / 服務未啟動 | 檢查httpd.conf/nginx.conf/IIS綁定:Listen 0.0.0.0:80 / server_name _; / IIS站點綁定IP選「所有未分配」 |
| 規則已加但公網訪問不了 | 路由器未做端口映射/ISP封鎖80端口/公網IP非固定 | 路由器設置→端口映射/虛擬服務器:外部80→內部IP:80 / 用非80端口(8080/8888) / 內網穿透(frp/ngrok/花生殼) |
| WAMP/XAMPP圖標黃/紅 | 80端口被佔用(System/PID 4/IIS/Skype/TeamViewer/迅雷) | netstat -ano | findstr :80 找PID → 任務管理器結束/禁用佔用服務 / 修改Apache/Nginx端口為8080 |
| 規則創建後重啟失效 | 組策略覆蓋/第三方防火牆接管/防火牆服務異常 | gpedit.msc檢查防火牆策略 / 卸載第三方防火牆 / services.msc確保MpsSvc/BFE運行 |
192.168.1.0/24、公司VPN段)netsh advfirewall firewall show rule name=all 導出審查Win7開80端口 = wf.msc → 入站規則 → 新建 → 端口 → TCP → 80 → 允許連接 → 域/專用。命令行一條 netsh advfirewall... 秒搞定。記住:規則只是開門,Web服務得綁0.0.0.0:80且跑起來;公網還得路由器映射/內網穿透;安全首選HTTPS+IP白名單!