1panel 面板出现 404 错误怎么解决
学完这篇,你能分清 1Panel 的 404 到底是面板自身返回的、还是网站程序返回的,并按步骤排查到具体原因。
第一步:先确认这个 404 是谁返回的
这一步的目的是定位"责任方",做完你就能知道该查面板还是查网站。
打开浏览器按 F12,切到 Network(网络) 标签,刷新出错的页面,点开那条红色的请求,看 Response Headers(响应头) 里的 Server 字段和响应体内容:
- 响应体是一行纯文本
404 page not found→ 这是 1Panel 面板本体(Go 程序)返回的,往第二步查。 Server: openresty→ 这是 1Panel 自带的 OpenResty 返回的,属于网站层问题,跳到第六步。Server: nginx而你并没在 1Panel 里装过 nginx → 说明前面还有一层反向代理,跳到第五步。
注意:别急着重启服务器。先看清是哪个 Server 返回的,能省掉一半无用操作。
第二步:检查安全入口路径是否写对
这一步解决"面板本身打不开、直接 404"的问题。
1Panel 默认开启了安全入口,访问 http://服务器IP:端口 而不带入口路径,会直接返回 404,这是最常见的误判。
SSH 登录服务器,执行:
1pctl user-info
输出里会有类似这样一行:
面板地址: http://192.168.1.10:34567/abcd1234
必须完整复制这个地址(含 /abcd1234 这段)去访问。如果只输 IP 和端口,就是 404。
想修改或关闭入口:登录面板后,点左侧菜单 设置 → 安全 → 安全入口,在输入框里填新路径,点 确认。填 / 并保存即关闭安全入口。
注意:入口路径不要用
admin、login这类常见词,也不要带/符号。
第三步:确认 1Panel 服务在正常运行
这一步排除"服务挂了导致 404"。
1pctl status
或
systemctl status 1panel
看到 active (running) 即为正常。如果没运行,执行 1pctl restart 重启;启动失败看日志:
1pctl logs
或
tail -n 200 /opt/1panel/log/1Panel.log
第四步:排查端口被占用或防火墙拦截
这一步排除"端口根本没通"。
ss -lntp | grep 34567
把 34567 换成你 1pctl user-info 里看到的实际端口。没有输出说明端口没被监听。
再确认云服务器安全组和本机防火墙已放行该端口:
firewall-cmd --list-ports
第五步:套了 Nginx 反代时,重点看 proxy_pass
这一步专治"外面还有一层 Nginx 时面板 404"。
打开那台 Nginx 的站点配置,找到 location / 段。典型的踩坑写法是:
proxy_pass http://127.0.0.1:34567/; # 结尾多了斜杠
结尾带 / 会把原始路径截断,安全入口 /abcd1234 被丢掉,于是 404。改成不带路径:
proxy_pass http://127.0.0.1:34567;
保存后执行 nginx -t 测试语法,再 nginx -s reload 重载。
第六步:网站/应用 404 的三种常见原因
这一步处理"面板能进,但站点页面 404"。
- 网站目录指错:面板左侧 网站 → 网站,点域名进入详情,查看 网站目录 字段,确认里面的
index.php或index.html真实存在。可用ls /opt/1panel/www/sites/你的域名/index核对。 - 没装运行环境:PHP 站点必须在 应用商店 里装过对应版本的 PHP,且在网站详情页的 运行环境 下拉框里选中它。
- 伪静态缺失:WordPress、Typecho 这类程序,站内文章页 404 基本都是伪静态没配。在网站详情页点 配置文件,把伪静态规则切换为对应程序(如
wordpress),保存后重载。
注意:改完配置一定要点页面上的 保存 并等提示"保存成功",只改不保存等于没改。
第七步:看日志定位真实原因
还在 404 的话,去 网站 → 网站 → 点域名 → 日志,看 access.log 里那条 404 请求的完整路径,和你期望的路径比对,看是路径拼错、大小写不对,还是根本没走到后端。OpenResty 自身的错误日志可以在 应用商店 → 已安装 → OpenResty → 日志 里查看。
小结
- 先用浏览器 F12 看
Server响应头,区分是面板 404 还是网站 404。 - 面板 404 九成是忘带安全入口路径,用
1pctl user-info拿到完整地址。 - 服务异常用
1pctl status/1pctl restart/1pctl logs三连。 - 外层 Nginx 反代时,
proxy_pass结尾的斜杠会导致安全入口丢失,必须去掉。 - 网站 404 按顺序查:网站目录 → 运行环境 → 伪静态规则。
- 最后一步永远看日志,别靠猜。
原文链接:https://www.gj0.com/thread-1163.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。