在 Windows 10 上搭建 IIS 發布 ASP.NET 網站並完成端口映射後,遇到一個詭異的現象:手機使用移動數據(流量)輸入公網域名無法訪問,但同一路由器下的手機和電腦均可正常訪問(無論用公網 IP 還是內網 IP),其他電腦用公網域名也能正常訪問。這究竟是運營商封鎖,還是配置問題?
首先排除 IIS 配置和端口映射問題,因為局域網內和其他電腦均正常。關鍵差異在於「手機流量」與「電腦寬帶」的出口 IP 不同,且手機流量通常經過運營商的 NAT 網關。
國內三大運營商(移動、聯通、電信)普遍封鎖住宅寬帶和移動數據的 80、443 等常用 Web 端口。手機流量走的是運營商內部網絡,跨運營商訪問時,目標端口若為 80,極大概率被攔截。而百度等大型網站部署在多線 BGP 機房,且使用非標準端口或經過備案接入,自然不受影響。
domain.com:8080)。手機開啟熱點,電腦連接熱點後訪問公網域名:若能訪問,說明手機流量出口被封;若不能,需檢查防火牆/安全組規則。
總結:這不是 IIS 或代碼問題,而是運營商網絡策略導致。採用非標準端口或 CDN 代理是最快落地的方案。