1Panel面板打不开怎么办?安全入口、授权IP、绑定域名和端口逐项排查

1Panel 面板打不开,先别急着重装。和很多面板不一样,1Panel 自带好几道"访问限制":安全入口、授权 IP、绑定域名。任何一道没满足,请求都会被挡住,表现出来就是 404、空白页或者"无权限",看上去像面板坏了,其实服务一直在正常运行。这篇按我读到的 1Panel 官方安装器脚本和源码,把这些情况分开讲。

先说明依据和范围:内容来自 1Panel 官方的 installer 仓库(安装脚本和 1pctl 命令行工具)和主仓库 dev 分支的源码。我没有在服务器上装一套 1Panel 逐项复现这些故障,所以报错页面的具体文字和截图不写。文中说的是 V2 版本,V1 版本我没有核对,命令和服务名可能不同。1Panel 官方文档站(docs.fit2cloud.com)我这次访问很慢,没能逐页核对,所以文档里的说法没有引用。

第一步:用 1pctl 看地址和服务状态

1Panel 安装后,服务器上有一个管理命令 1pctl。从安装脚本里能看到的命令包括:status、start、stop、restart、user-info、user-list、listen-ip、version、update、reset、restore、uninstall。要用 root 运行。

1
2
1pctl user-info
1pctl status

1pctl user-info 在源码里输出的面板地址格式是:

1
协议://地址:端口/安全入口

同时会显示用户名和密码,找不到入口、不确定端口、忘了账号的时候,这一条最有用。浏览器里输入的必须和它完全一致:协议(http 还是 https)、端口、末尾的安全入口,少一样都可能打不开。

1pctl status 查看服务状态。V2 版本拆成了两个服务:1panel-core 和 1panel-agent(从安装器里的服务文件名看到的)。1pctl status 后面可以接 core 或 agent 分别查看,start、stop、restart 后面可以接 core、agent 或 all。服务没起来就先 1pctl restart all,再看状态。

第二步:安装时设的是什么

从安装脚本看,几个默认行为值得知道:

  • 端口:默认是一个 10000 到 65534 之间的随机数,不是固定的 8080 之类,所以别用别人教程里的端口去猜。安装时还会检查端口是否被占用,被占用会让你重新输入。
  • 安全入口:安装时也要设置,规则是字母、数字、下划线,长度 3 到 30 个字符。
  • 默认安装目录:/opt,面板数据在 /opt/1panel 下(脚本里检查 $PANEL_BASE_DIR/1panel/db/core.db 是否存在)。如果安装时改过目录,路径不同。
  • 防火墙:脚本里会检测 firewall-cmd,防火墙在运行时会尝试打开端口,没有激活就跳过。云服务器的安全组脚本不会替你开,它只是提示你去安全组放行。

所以第一个常见原因就是:安全组没放行面板端口。这和服务器里面板运行是否正常无关。

第三步:几道限制的表现

源码里请求进入面板前,会依次经过几个检查。下面逐个说。

1. 安全入口

面板设置里的"安全入口"开启后,只能通过指定的入口路径登录。直接访问 http://IP:端口/ 或者入口写错,都不能正常进入。官方界面里的说明是"开启安全入口后只能通过指定安全入口登录面板",设置为空则取消安全入口。

处理:用 1pctl user-info 查完整地址。入口忘了又想取消,运行:

1
1pctl reset entrance

源码里这条命令是把"安全入口"设置清空。

2. 授权 IP

开了授权 IP 之后,只有名单里的 IP(或网段)能访问。源码里的判断有两点值得注意:

  • 名单支持单个 IP 和 CIDR 网段,用逗号分隔;
  • 内网地址的请求不受这个限制(源码里先判断是不是私有 IP,是就直接放行)。

典型情况:你换了网络,出口 IP 变了,或者手机流量、家宽 IP 会变,就被挡在外面。解除用:

1
1pctl reset ips

它把授权 IP 清空。

3. 绑定域名

绑定域名后,源码里会对比请求里的 Host,只有用这个域名访问才放行,用 IP 直接访问会被拒绝。所以绑了域名之后再用 IP:端口 去开,打不开是预期行为。解除用:

1
1pctl reset domain

4. 未认证响应码:为什么是 404 或空白

这是最容易让人误判的一点。面板设置里有一项"未认证设置",界面说明是:用户在未登录且未正确输入安全入口、授权 IP、或绑定域名时,该响应可隐藏面板特征。

源码里这个设置可以设成 400、401、403、404、408、416、500 或 444,其中 444 是直接返回空内容(源码里 444 时返回空字符串)。其他值会返回对应状态码的页面。

所以你看到 404、403 或者什么都没有,很可能是面板在故意"装作不存在",不代表服务挂了。排查时不要被这个表象带偏,先用 1pctl status 确认服务在跑,再回到上面三项逐项核对。我没有核对这个设置的出厂默认值,这篇不下结论。

5. HTTPS 和 http 写反

面板如果开了 HTTPS(面板 SSL),用 http:// 访问就打不开;没开却用 https:// 访问也打不开,1pctl user-info 里的协议就是当前实际用的。证书问题导致 https 打不开时,可以用:

1
1pctl reset https

源码里它把 SSL 设置改为关闭,脚本随后会自动重启服务,之后用 http:// 访问。

6. 监听 IP

1pctl listen-ip 不带参数是查看当前监听地址,1pctl listen-ip ipv4 和 ipv6 是切换,切换后脚本会重启服务。源码里 IPv4 对应监听 0.0.0.0。如果你的网络环境只有 IPv6 或只有 IPv4,监听方式不对会导致访问不到,一般用户碰不到,这里简单提一下。

改端口

1
1pctl update port

按提示输入新端口。改完要在系统防火墙和云服务商安全组放行新端口,旧端口记得关掉。

解除限制之后要重新加固

1pctl reset entrance、reset ips、reset domain、reset https 都是在降低面板的访问限制,用它们是为了让你能重新登录,不是长期状态。登录进去之后建议:

  1. 重新设置安全入口;
  2. 需要的话重新设置授权 IP、绑定域名或 HTTPS;
  3. 检查登录账号密码是否安全。

另外,1pctl reset 不带参数的行为我没有逐项核对,而 uninstall、restore 会动面板和数据,没弄清楚之前不要运行。

排查顺序

  1. 1pctl user-info 拿到完整地址,浏览器逐项对照。
  2. 1pctl status,必要时 1pctl restart all。
  3. 服务器防火墙和云服务商安全组放行面板端口。
  4. 看有没有开授权 IP、绑定域名,有就换对应的访问方式,或用 reset 命令解除。
  5. 返回 404 或空白,先确认是不是"未认证响应码"在起作用。
  6. https 打不开,用 1pctl reset https。

和 x-ui、3x-ui 面板的区别

1Panel 是一个通用的 Linux 服务器管理面板,管理网站、文件、容器、数据库等,官方 README 的介绍就是这一类。x-ui 和 3x-ui 是管理 xray 代理的专用面板,两者用途不同。如果你要排查的是 x-ui,看x-ui 面板打不开的常见原因和x-ui 面板启动失败怎么办。

没有覆盖的

  • V1 版本:命令、服务名和路径都可能不同,没有核对。
  • 官方文档站的说法:这次文档站访问很慢,没有逐页核对。
  • 各个故障的真实页面:没有复现,不写页面文字。
  • 未认证响应码的出厂默认值:没有核对。
  • 容器、网站、数据库等其他功能的问题:这篇只讲面板本身打不开。

还没装的话,先看1Panel是什么、怎么安装。