必须将Listen改为0.0.0.0:80以监听所有IPv4接口,同时在httpd.conf和httpd-vhosts.conf两处<Directory>块中均设Require all granted,并放行防火墙中的httpd.exe及对应端口,手机需用开发机局域网IP访问。

Listen 0.0.0.0:80 必须改,不能只改端口或写死 IP
Apache 默认监听 127.0.0.1:80,这意味着它根本不会接收来自手机、平板或另一台电脑的请求——连日志都不会记一条。光把端口改成 8080 没用,必须显式告诉 Apache “监听所有 IPv4 接口”。
打开 X:\xampp\apache\conf\httpd.conf(Windows)或 /Applications/XAMPP/etc/httpd.conf(macOS),找到这一行:
Listen 80
把它改成:
Listen 0.0.0.0:80
- 不要写成
Listen 192.168.1.100:80—— IP 一变(换 Wi-Fi、插网线、多网卡),服务立刻不可达 - 如果要用其他端口(比如
8080),就写Listen 0.0.0.0:8080 - 改完必须重启 Apache,否则配置不生效
Require all granted 要在两处都设,缺一不可
Apache 2.4+(XAMPP 7.x 起全用这个版本)已彻底弃用 Order deny,allow,只认 Require 指令。Require local 会直接返回 403 错误,且它分布在两个关键位置:
-
httpd.conf中的主<Directory "/xampp/htdocs">块(Windows)或<Directory "/Applications/XAMPP/htdocs">(macOS) -
httpd-vhosts.conf中每个<VirtualHost>内部的<Directory>块
两处都要把 Require local 替换为:
Require all granted
漏掉任意一处,对应路径就会 403。别信老教程里的 Allow from all —— 混用会直接导致 Apache 启动失败,错误日志里报 Invalid command 'Order'。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
防火墙必须放行 httpd.exe 或对应端口,不是“关防火墙”
即使 Apache 配置全对,Windows Defender 防火墙或 macOS 防火墙也会静默丢包,导致手机浏览器显示“无法连接”或“连接已重置”。
- Windows:控制面板 → Windows Defender 防火墙 → 允许应用通过防火墙 → 勾选
Apache HTTP Server;若没出现,点「更改设置」→「允许其他应用」→ 手动添加X:\xampp\apache\bin\httpd.exe - macOS:系统设置 → 网络 → 防火墙 → 防火墙选项 → 勾选
Apache HTTP Server;若无,点「+」添加/Applications/XAMPP/xamppfiles/bin/httpd - 如果开了多个端口(如
8080),还得单独新建入站规则放行该 TCP 端口
手机访问必须输局域网 IP,不是 localhost
在手机浏览器里输 http://localhost 或 http://127.0.0.1 是访问手机自己,不是你的电脑。你得先查出开发机的局域网 IP:
- Windows:命令行运行
ipconfig,找 “无线局域网适配器” 下的 IPv4 地址(如192.168.1.100) - macOS:终端运行
ifconfig | grep "inet " | grep -v 127.0.0.1
然后在手机浏览器输入:
http://192.168.1.100
或(如果你改了端口):
http://192.168.1.100:8080
Android App 访问还要额外处理:Cleartext HTTP traffic not permitted 错误不是 Apache 问题,而是 Android 9+ 的安全限制,必须配 network_security_config.xml 明确列出该 IP。

















