系统设置与安全
安全入口(随机登录路径)
启用后登录页只能通过 /<随机路径>/login 访问,直接访问 / 或 /login 不再进入登录页, 避免被端口扫描器发现登录入口。
- 在「设置 → 安全入口」页面启用、查看与重置
- 忘记路径时用命令行取回 / 重置:
bash
./GoPanel -se # 打印当前安全访问入口 URL
./GoPanel -se=panel.example.com # 指定站点地址前缀,直接得到可点击地址
./GoPanel -sr # 重置随机路径并打印新地址(旧地址立即失效)容器内可直接执行:
bash
docker exec gopanel-backend /home/gopanel/GoPanel -se未登录访问端口时的引导页
未登录直接访问端口(/、/login)会看到一张引导页,说明「管理入口已受保护」, 并按当前部署方式给出查看 / 重置安全入口的步骤。
- 不会显示安全入口地址,也不包含可推导随机路径的信息,可放心暴露在公网
- 状态码仍为
404,与普通 404 完全一致 - 页面由后端直接渲染(自包含内联样式),前端容器未就绪时同样可读
- 浏览器访问得到 HTML;XHR / fetch 得到同内容 JSON
首次部署:未初始化先跳安装向导
若尚未完成管理员账号初始化,访问根路径会直接跳转安装向导,而不是显示登录页:
- 前端通过
GET /api/auth/entry同时获取安装状态与安全入口状态 - 此时
/login也不可访问(后端302到安装向导) - 未初始化时安全入口不隐藏
/与/setup,保证首次部署一定进得去向导 - 完成安装后立即翻转:根路径回到「未登录 → 登录页」
登录失败锁定(IP 黑名单)
同一客户端 IP 连续登录失败达到阈值后被锁定,锁定期内直接返回 429,不再进行密码校验:
| 策略 | 默认值 | 说明 |
|---|---|---|
| 连续失败次数阈值 | 3 | 达到阈值即锁定该 IP |
| 锁定时长 | 5m | 锁定期内登录提交直接返回 429 |
| 失败计数窗口 | 10m | 超过窗口未再失败则计数归零 |
- 锁定数据仅保存在内存中,重启即失效(不落库、不写文件)
- 登录成功后自动清零该 IP 的失败计数
- 「设置 → IP 黑名单」可查看被锁定 IP 并逐个或全部解锁
- 参数当前为内置默认值,暂不支持通过环境变量调整
IP 白名单
限制只有白名单内的 IP 可以访问管理后台,适合把后台收敛到公司出口 IP 的场景。
其它设置
| 设置组 | 内容 |
|---|---|
| 系统 | API 密钥、调试模式、CORS 跨域 |
| SMTP | 邮件服务器配置与测试发送 |
| 日志 | 日志级别、输出目标、轮转策略 |
| 服务路径 | nginx / caddy 的配置与二进制路径 |
| 配置导入导出 | 备份 / 迁移面板配置 |
