首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

外網無法訪問本地網站:路由器埠映射、防火牆與公網 IP 完整排查清單

     編輯:程式設計綜合問答

架構圖解

外網用戶 → 公網IP:8181 → 路由器 (NAT/埠映射 8181→192.168.x.x:8181) → 本地伺服器:8181

排查步驟

  1. 本地驗證:瀏覽器輸入 https://127.0.0.1:8181 或 https://192.168.x.x:8181 確認服務正常。
  2. 路由器埠映射:
    • 外部埠:8181,內部埠:8181,內部 IP:伺服器區網 IP,協定:TCP。
    • 啟用「虛擬伺服器」/「Port Forwarding」。
  3. 伺服器防火牆:
    # Windows
    netsh advfirewall firewall add rule name="Web8181" dir=in action=allow protocol=TCP localport=8181
    # Linux
    firewall-cmd --permanent --add-port=8181/tcp && firewall-cmd --reload
    
  4. 公網 IP 類型:
    • 若為動態公網 IP,需配合 DDNS(花生殼、No-IP)。
    • 若為內網 IP(CGNAT/大內網),無法直接映射,需使用 frp/ngrok 內網穿透。
  5. ISP 封鎖:部分運營商封鎖 80/8080/8181 等常見 Web 埠,嘗試映射至高位埠(如 18181)。

快速驗證命令

# 外網機器測試
curl -v https://公網IP:8181
telnet 公網IP 8181
nmap -p 8181 公網IP

總結

外網無法訪問依序排查:本地服務正常 → 路由器埠映射正確 → 伺服器防火牆放行 → 公網 IP 可達(非 CGNAT)→ ISP 未封鎖埠。若為大內網環境,必須使用內網穿透工具(frp、ngrok、ZeroTier)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved