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
2
x-ui              # 打开管理菜单
x-ui settings # 查看当前设置(也可以在菜单里选 11)

菜单里和面板设置相关的项(来自官方文档的 First Login 页,编号以你的版本为准):

  • 7:重置用户名和密码(可以同时关闭 2FA);
  • 8:重置 Web 根路径(随机生成);
  • 10:修改端口。

用 Docker 部署的话,凭据要从容器日志里看,或者运行 docker exec -it <容器名> x-ui setting -show。更多命令见 3x-ui常用命令汇总。忘记密码见 3x-ui 忘记密码怎么办。

改完连不上怎么办

官方给的加固清单

官方文档的 First Login 页给了五步,和这页设置一一对应:

  1. 设置强且唯一的用户名和密码;
  2. 用非默认端口和随机的 URI 路径;
  3. 开启双重验证;
  4. 把面板放到 TLS 后面;
  5. 用防火墙限制访问,只开放需要的端口,必要时限制访问面板的 IP。

Security 页还提到,客户端 IP 限制靠 Fail2ban 执行,具体见 3x-ui限制客户端IP连接数。

小结

  • 面板设置管面板自己的访问和保护,改完要保存并重启面板;
  • 默认端口 2053、默认路径 /,但脚本安装时会随机生成,面板也会对仍用默认值给出警告;
  • 改密码会让所有会话退出,并关闭双重验证;
  • 用反向代理时,要填"反向代理 URI",并留意可信代理 CIDR;
  • 连不上时用 x-ui 命令查看和重置设置;
  • 本文依据当前主分支(3.x)的源码和文档,没有实际运行,老版本界面可能不同。