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

外網訪問內網 Web 服務器:端口映射、80 端口封鎖與解決方案

     編輯:程式設計綜合問答

核心事實

  • 運營商普遍封鎖住宅寬帶的公網 80/443/21/23/3389 等常用端口。
  • 內網 IIS/Apache/Nginx 監聽端口可任意修改(如 8080、1234),無需佔用 80。

正確映射流程

  1. 路由器端口映射:外部端口 1234 → 內網服務器 IP:8080(內網服務器防火牆放行 8080)。
  2. IIS 綁定:站點綁定 *:8080 或 內網IP:8080。
  3. 外網訪問:https://公網IP:1234 或 https://域名:1234(域名解析到公網 IP)。

動態公網 IP 解決方案

  • 使用 DDNS(花生殼、No-IP、阿里雲 DDNS) 將域名實時解析到變動的公網 IP。
  • 路由器多數內建 DDNS 客戶端,直接配置即可。

無公網 IP(CGNAT)情況

若運營商分配私有/共享公網 IP(CGNAT),端口映射無效。解決方案:

  1. 內網穿透:frp、ngrok、nps、ZeroTier、Tailscale 等,需一台擁有公網 IP 的 VPS 作為中繼。
  2. 申請公網 IP:撥打運營商客服(理由:遠程辦公/監控/NAS),大多數可免費獲取。
  3. IPv6:若運營商提供 IPv6 前綴,直接用 IPv6 地址訪問(需客戶端也支持 IPv6)。

安全提醒

  • 暴露管理端口(3389/22/21)極危險,必須改端口+密鑰認證+IP 白名單。
  • Web 應用部署 WAF/HTTPS/定期更新補丁。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved