📌 问题现象
今天突然发现无法通过浏览器访问 OpenWrt 路由器的管理后台(http://192.168.9.9),页面提示:
ERR_CONNECTION_REFUSED(连接被拒绝)
但奇怪的是,SSH 依然可以正常登录:
ssh root@192.168.9.9说明路由器本身运行正常,网络也通,问题只出在 Web 管理界面上。
🔍 初步排查
登录 SSH 后,我首先检查 LuCI 相关进程是否在运行:
ps | grep luci输出只有:
25225 root 1332 S grep luci这说明 根本没有 uhttpd 进程在运行 —— 而 uhttpd 正是 OpenWrt 中负责提供 Web 服务(包括 LuCI 界面)的轻量级 HTTP 服务器。
接着手动启动它:
/etc/init.d/uhttpd start再检查状态:
/etc/init.d/uhttpd status
# 输出:running同时确认端口监听情况:
netstat -tuln | grep :80看到:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN

✅ 一切恢复正常!浏览器立刻就能打开管理界面了。
❓为什么会这样?
按理说,OpenWrt 默认安装后,uhttpd 是开机自启的,不应该出现“重启后 Web 打不开”的情况。
但现实中,以下原因可能导致该服务意外停止或未启动:
曾手动执行过
/etc/init.d/uhttpd disable
即使你不记得,也可能在调试、使用优化脚本时无意禁用了它。系统异常断电或强制重启
导致 init 系统状态不一致,自启服务未能正确加载。近期升级或安装插件引发配置重置
某些 LuCI 插件安装过程可能干扰主服务配置。
✅ 解决方案 & 预防措施
1. 临时恢复(已验证有效)
/etc/init.d/uhttpd start2. 永久修复:启用开机自启
这才是关键!执行:
/etc/init.d/uhttpd enable这会在 /etc/rc.d/ 下创建启动链接(如 S50uhttpd),确保每次重启后自动运行。
💡 小技巧:可通过
ls /etc/rc.d/*uhttpd验证是否已启用。
3. 终极懒人法:直接重启路由器
其实,如果只是服务卡住或状态异常,很多时候“重启路由器”就能自动恢复——因为标准 OpenWrt 固件默认是开启自启的。
所以,如果你遇到同样问题,先试试重启!
如果重启后还是不行,再按上述步骤手动启动并启用自启。
📝 总结
这次故障提醒我:即使是“默认开启”的服务,也可能因各种原因失效。做好关键服务的自启检查,能避免很多不必要的麻烦。
附:快速诊断命令清单
ps | grep uhttpd # 检查进程 /etc/init.d/uhttpd status # 检查服务状态 netstat -tuln | grep :80 # 检查端口监听 /etc/init.d/uhttpd enable # 启用自启
希望这篇记录能帮到遇到同样问题的朋友!
如有疑问,欢迎留言交流 👇
本文基于真实故障记录整理,环境:OpenWrt 定制固件(AX6600-Home),2025 年 12 月
