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

Windows Apache 無法遠程訪問?排查清單:防火牆、綁定 IP、端口、域名

     編輯:程式設計疑難解答

現象

本機訪問正常,局域網/外網無法訪問 Apache。已關防火牆、註釋 Require local。

排查清單(按優先級)

  1. 確認網絡層面
    • 內網:客戶端與服務器是否同網段?ping 是否通?
    • 外網:服務器是否有公網 IP?路由器是否做端口映射(默認 80/443)?
  2. 檢查 Apache 綁定地址
    # httpd.conf
    Listen 0.0.0.0:80          # 監聽所有接口,而非 127.0.0.1:80
    # 或
    Listen 192.168.1.100:80    # 監聽特定內網 IP
  3. 防火牆深度檢查
    • Windows 防火牆入站規則:允許 TCP 80(或自定義端口)。
    • 殺毒軟件/安全套件可能攔截,需添加例外。
  4. 端口衝突與 ISP 封鎖
    • 80/443 常被運營商封鎖,建議改用 8080/8443 等高位端口。
    • netstat -an | findstr :80 確認端口確屬 Apache 佔用。
  5. 域名解析
    • 若用域名訪問,nslookup yourdomain.com 驗證解析到正確公網 IP。
  6. Apache 權限配置
    <Directory "D:/www">
        Require all granted   # 2.4 語法,替代舊版 Order allow,deny
    </Directory>

常見誤區

操作誤區正確做法
關閉防火牆以為萬無一失需添加精確入站規則,關閉防火牆降低安全性
註釋 Require local以此開放所有需配合 Require all granted 且 Directory 匹配正確
只改 httpd.conf忽略 httpd-vhosts.conf虛擬主機配置同樣需授權

驗證命令

# 服務器本機
curl https://localhost:80
# 局域網另一台機器
curl https://192.168.1.100:80
# 外網
curl https://yourdomain.com:8080

總結

Apache 遠程不可訪問多為「綁定地址錯誤」「防火牆未放行」「端口被封/衝突」「域名解析錯」。按清單逐項排查,通常 10 分鐘內定位問題。

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