3x-ui面板设置怎么设:端口、路径、证书、安全和订阅,每一项的默认值和注意事项
3x-ui 的"面板设置"页,管的是面板这个网站本身怎么被访问、怎么被保护,和入站、用户、Xray 配置是分开的。很多人装完只改了密码就去建节点,后来想改端口、加证书、开订阅,才发现这页里有一大堆选项。这篇依据 3x-ui 的源码和官方文档,把各项的含义、默认值和容易踩的坑理一遍。
先说明依据:我读了 MHSanaei/3x-ui 主分支的源码(读到的最新提交是 2026-10-06)、官方文档源文件里的 Panel Settings、First Login 和 Security 页面,以及 zh-CN.json 中文翻译,界面文字以它为准。我没有实际运行面板。需要特别注意版本:这是当前主分支(3.x)的界面,本站其他教程多基于 2.9.4,老版本的选项和布局可能不同,我没有核对。
先说一个最重要的规则:改完要保存并重启面板
面板设置页顶部有一句提示(中文翻译原文):此处的所有更改都需要保存并重启面板才能生效。页面上有"保存"按钮,也有"重启面板"按钮,重启前会弹窗确认,弹窗里还提醒:如果重启后无法访问面板,请到服务器上查看面板日志。
所以改端口、路径、证书这类设置,顺序是:先保存,再重启面板,然后用新地址重新登录。改之前最好另开一个 SSH 窗口,万一连不上,能马上用命令行补救(见后面"改完连不上"一节)。
这页有哪些分区
按源码里的页面结构和中文翻译,面板设置页主要有这几个分区:
| 分区(中文界面) | 管什么 |
|---|---|
| 常规 | 面板的监听、端口、路径、证书,显示和时区,LDAP 等 |
| 安全设定 | 管理员用户名密码、双重验证(2FA)、API 令牌 |
| 订阅 | 订阅服务的开关、端口、路径、证书、格式(JSON、Clash/Mihomo)等 |
| Telegram 机器人 | 令牌、管理员聊天 ID、通知和备份 |
| 邮件、Discord | 另外两种通知渠道 |
下面按这个顺序讲。
常规:面板怎么被访问
官方文档的 Web server 表列出了默认值,括号里是中文界面里的叫法:
| 设置 | 默认值 | 含义 |
|---|---|---|
webPort(面板监听端口) |
2053 |
面板端口,1–65535。环境变量 XUI_PORT 可以在运行时覆盖 |
webListen(面板监听 IP) |
留空,监听所有 IP | 把面板绑定到某个具体 IP |
| 面板监听域名 | 留空,监听所有域名和 IP | 只允许通过某个域名访问 |
webBasePath(URI 路径) |
/ |
面板所在的 URL 路径,必须以 / 开头、以 / 结尾 |
webCertFile / webKeyFile(面板证书公钥、密钥文件路径) |
无 | 两个都填,面板就用 HTTPS 提供服务,路径要填以 / 开头的绝对路径 |
sessionMaxAge(会话时长) |
360 |
保持登录的时长,单位分钟,也就是 6 小时 |
trustedProxyCIDRs(可信代理 CIDR) |
127.0.0.1/32,::1/128 |
哪些 IP 发来的转发头(真实客户端 IP 等)可信任 |
panelOutbound(面板流量出站) |
无,直连 | 让面板自己的请求(版本检查、Telegram、geo 文件更新等)走某个 Xray 出站 |
几点说明:
- 改完端口或路径后,面板地址变成
http(s)://服务器地址:端口/路径/。首次启动前还可以用环境变量XUI_INIT_WEB_BASE_PATH预设路径; - 脚本安装时这几项是随机的:官方文档的 First Login 页写明,默认端口是 2053、默认路径是
/,但脚本安装会随机生成用户名、密码、端口和访问路径,所以要以实际值为准; - 可信代理 CIDR:如果你用了 Nginx 之类的反向代理,面板要靠它判断转发头能不能信。官方文档提醒,自定义这一项还会影响订阅链接里的转发 host 和协议;用反向代理时,要把代理的 IP 包含进去,或者在订阅设置里填"反向代理 URI"来覆盖。反向代理的做法见 3x-ui用Nginx反向代理隐藏面板;
- 面板流量出站:中文界面的说明是,用来让面板自身的请求通过某个 Xray 出站,以绕过服务器对 GitHub 等的访问限制。出站是什么,见 3x-ui出站设置怎么用。
面板自己会提醒你哪些不安全
在"安全警告"里,面板会检查并给出这些提示(中文翻译原文意思):
- 面板通过明文 HTTP 提供服务,生产环境请配置 TLS;
- 仍在使用默认端口 2053,众所周知,请改成随机端口;
- 仍在使用默认根路径
/,请改成随机路径; - 订阅路径还是默认的
/sub/,JSON 订阅路径还是默认的/json/,也都建议改掉。
HTTPS 怎么配
官方文档给了两条路:要么在这里填 webCertFile 和 webKeyFile(x-ui 命令菜单里的 SSL 管理可以帮你申请 Let’s Encrypt 证书),要么在前面放一个反向代理,在代理上终止 TLS。官方文档的警告很直接:不要把面板用明文 HTTP 暴露在公网上,要用 TLS、非默认端口和一条又长又随机的 URI 路径。证书的具体做法见 3x-ui配置TLS证书教程。
显示相关:分页、通知阈值、备注模板、时区
| 设置 | 默认值 | 含义 |
|---|---|---|
pageSize(分页大小) |
25 |
入站表每页行数,0 表示不分页 |
expireDiff(到期通知阈值) |
0 |
到期前多少天开始提醒 |
trafficDiff(流量耗尽阈值) |
0 |
官方文档写的是"剩余流量百分比",中文界面写的是"单位:GB",两处说法不一致,我没法确认哪个对,以你面板上实际的单位提示为准 |
remarkTemplate(备注模板) |
{{INBOUND}}-{{EMAIL}}|📊{{TRAFFIC_LEFT}}|⏳{{DAYS_LEFT}}D |
客户端备注的默认模板,用变量拼接 |
timeLocation(时区) |
Local |
统计和到期用的时区,定时任务也按它运行 |
datepicker(日期选择器) |
gregorian |
日期输入用公历还是 Jalali(波斯历) |
安全设定:账号、双重验证、API 令牌
这一页的内容,官方文档的 First Login 和 Security 页讲得比较全,要点是:
- 管理员凭据:密码在数据库里存的是 bcrypt 哈希。修改用户名或密码会让所有已有会话退出登录,如果之前开了双重验证,也会被关掉;
- 双重验证(2FA):支持 TOTP,兼容 Google Authenticator、Aegis 等。开启后,登录页除了密码还要输入 6 位验证码,开启也会强制所有人重新登录。忘了的话可以用
x-ui setting -resetTwoFactor关掉; - 内置的登录保护:同一 IP 和用户名在 5 分钟内连续失败 5 次,这个组合会被封 15 分钟;登录页对"密码错"和"验证码错"返回同样的提示,不泄露细节;
- 会话:有效期由上面的"会话时长"决定,改凭据后会失效;
- LDAP:可以启用 LDAP 作为本地密码校验失败后的备用认证;
- API 令牌:给脚本、机器人、远程面板用的凭据,也在这里管理。令牌的创建和权限区别见 3x-ui API怎么用。
订阅:给客户端发节点链接
订阅服务有自己的一套设置,常用的几项(中文界面):
| 设置 | 含义 |
|---|---|
| 启用订阅服务 | 总开关 |
| 监听 IP、监听域名、监听端口 | 订阅服务自己的监听,端口必须是未被占用的端口 |
| URI 路径 | 订阅服务的路径,要以 / 开头和结尾,默认 /sub/ |
| 公钥路径、私钥路径 | 订阅服务自己用的证书,以 / 开头的绝对路径 |
| 更新间隔 | 客户端更新订阅的间隔,单位小时 |
| 编码 | 返回内容是否用 Base64 编码 |
| 反向代理 URI | 完整的基础 URL(scheme://域名[:端口]/路径/),会替代监听域名和端口,用来生成面板里显示的订阅链接和二维码 |
| JSON 订阅、Clash/Mihomo 订阅 | 分别启用,各自有路径,并支持按客户端 User-Agent 自动识别格式 |
要点:如果订阅是通过反向代理访问的,一定要填"反向代理 URI",否则面板里显示的订阅链接会是服务器自己的地址和端口,客户端拿去用可能连不上。订阅链接的用法见 3x-ui订阅链接设置和导出方法,导入 Clash 见 3x-ui订阅链接导入Clash for Android方法。
订阅设置里还有一大批针对特定客户端(比如 Happ、Incy)的选项,普通使用用不到,不展开。
通知:Telegram、Discord、邮件
三种渠道各有一页:
- Telegram 机器人:令牌(从 BotFather 获取)、管理员聊天 ID、通知周期(预设间隔或 crontab 表达式)、数据库备份、登录通知、CPU 负载阈值;
- Discord:机器人令牌、频道 ID、管理员用户 ID;
- 邮件(SMTP):主机、端口(默认 587)、加密方式(无、STARTTLS、TLS)、发件人、收件人,还可以发测试邮件。
事件类型有出站断开和恢复、Xray 崩溃、节点上线和离线、CPU 和内存过高、登录尝试等。Telegram 的完整配置见 3x-ui Telegram 机器人配置教程。令牌这类机密在界面上只显示"已配置",不会把完整内容再返回给浏览器,留空则保留原值。
不进面板也能改:x-ui 命令
官方文档列出了命令行里对应的操作,面板连不上时特别有用:
1 | x-ui # 打开管理菜单 |
菜单里和面板设置相关的项(来自官方文档的 First Login 页,编号以你的版本为准):
- 7:重置用户名和密码(可以同时关闭 2FA);
- 8:重置 Web 根路径(随机生成);
- 10:修改端口。
用 Docker 部署的话,凭据要从容器日志里看,或者运行 docker exec -it <容器名> x-ui setting -show。更多命令见 3x-ui常用命令汇总。忘记密码见 3x-ui 忘记密码怎么办。
改完连不上怎么办
- 先确认新地址对不对:地址是
http(s)://服务器地址:新端口/新路径/,结尾的/也要带; - 防火墙和安全组:新端口要放行,这是最常见的原因,见 x-ui面板打不开的常见原因和解决方法;
- 面板有没有起来:用
x-ui菜单查看状态和日志,参考 x-ui面板启动失败怎么办; - 忘了新路径或端口:用上面的
x-ui settings查看,或用菜单 8、10 重新设置; - 设置存在数据库里,位置见 x-ui和3x-ui的配置文件在哪,改之前先备份,方法见 3x-ui面板迁移与备份教程。
官方给的加固清单
官方文档的 First Login 页给了五步,和这页设置一一对应:
- 设置强且唯一的用户名和密码;
- 用非默认端口和随机的 URI 路径;
- 开启双重验证;
- 把面板放到 TLS 后面;
- 用防火墙限制访问,只开放需要的端口,必要时限制访问面板的 IP。
Security 页还提到,客户端 IP 限制靠 Fail2ban 执行,具体见 3x-ui限制客户端IP连接数。
小结
- 面板设置管面板自己的访问和保护,改完要保存并重启面板;
- 默认端口 2053、默认路径
/,但脚本安装时会随机生成,面板也会对仍用默认值给出警告; - 改密码会让所有会话退出,并关闭双重验证;
- 用反向代理时,要填"反向代理 URI",并留意可信代理 CIDR;
- 连不上时用
x-ui命令查看和重置设置; - 本文依据当前主分支(3.x)的源码和文档,没有实际运行,老版本界面可能不同。