先保证域名解析正确和80 端口可用于 Let’s Encrypt 验证,再申请证书;申请完成后一定检查证书文件是否完整,以及面板端口实际是否已经启用 HTTPS。
例如:
cc.opentouch.top检查命令:
nslookup cc.opentouch.top
或:
ping cc.opentouch.top
要求:解析出来的 IP 必须是当前服务器公网 IP。
至少放行以下端口:
80:Let’s Encrypt 申请证书时做 HTTP-01 验证443:标准 HTTPS / 后续反代可能会用到3x-ui 面板端口,例如 50325需要同时检查:
ss -ltnp | grep ':80'
如果 80 端口已被 Nginx / Apache / Caddy 等服务占用,申请证书时要注意冲突。
进入菜单:
x-ui
选择:
19 → SSL Certificate Management这里最关键的两个选项:
19 -> 1:Get SSL (Domain),用于申请域名证书19 -> 5:Set Cert paths for the panel,用于把证书绑定给面板注意:进入
19不等于证书已经可用。
走:
19 -> 1输入域名,例如:
cc.opentouch.top如提示端口,一般使用默认的 80。
走:
19 -> 5常见路径:
/root/cert/你的域名/fullchain.pem
/root/cert/你的域名/privkey.pem
例如:
/root/cert/cc.opentouch.top/fullchain.pem
/root/cert/cc.opentouch.top/privkey.pem
x-ui restart
不要只看菜单提示成功,要做下面 3 个检查。
ls -l /root/cert/你的域名/
例如:
ls -l /root/cert/cc.opentouch.top/
重点看:
fullchain.pemprivkey.pem正常情况:
fullchain.pem 不是 0 字节如果 fullchain.pem 是空文件,说明证书损坏或签发未完成。
sed -n '1,5p' /root/cert/你的域名/fullchain.pem
正常应看到:
-----BEGIN CERTIFICATE-----
检查私钥:
sed -n '1,5p' /root/cert/你的域名/privkey.pem
正常应看到:
-----BEGIN EC PRIVATE KEY-----
或:
-----BEGIN PRIVATE KEY-----
如果 fullchain.pem 为空,或者没有 BEGIN CERTIFICATE,说明文件不可用。
curl -vk https://你的域名:面板端口/
例如:
curl -vk https://cc.opentouch.top:50325/
如果报类似错误:
SSL_ERROR_RX_RECORD_TOO_LONGwrong version number通常说明该端口实际还在跑 HTTP,并没有真正启用 HTTPS。
这是 3x-ui 新手最容易误解的点。
你最终访问的是:
https://域名:50325/
但 Let’s Encrypt 在签发域名证书时,默认需要从公网访问:
http://域名/.well-known/acme-challenge/...
也就是说:
50325 是面板服务端口80 是证书验证端口所以即使你是给 50325 配 HTTPS,申请证书时依然可能卡在 80。
常见表现:
fullchain.pem 是空文件privkey.pem 有内容日志中出现:
tls: failed to find any PEM data in certificate input
这表示:
https://域名:端口/... 会失败所以不要只看 3x-ui 菜单提示,一定要检查文件本身。
优先尝试:
19 -> 5重新绑定正确路径后执行:
x-ui restart
表现:
fullchain.pem 为空这种情况不要只重复点一次 19 -> 1,更稳妥的方法是:
/root/cert/域名/x-ui以后在新服务器部署 3x-ui,建议固定按下面顺序操作:
80 / 443 / 面板端口确认 80 端口没有冲突
ss -ltnp | grep ':80'
在 19 -> 1 申请域名证书
检查证书文件是否非空
ls -l /root/cert/你的域名/
在 19 -> 5 绑定证书路径给面板
重启 3x-ui
x-ui restart
实测 HTTPS 是否正常
curl -vk https://你的域名:面板端口/
以后打不开 https://域名:端口/...,按这个顺序查:
/root/cert/域名/fullchain.pem 是否为空19 只是证书管理入口,不代表证书一定已经可用50325 配 HTTPS,不代表申请证书时不需要 80fullchain.pem 是否有效fullchain.pem 是空的,HTTPS 一定不能正常工作19,先判断是绑定问题还是证书损坏问题