在 RackNerd VPS 上为 XUI 面板配置 TLS 证书,最推荐直接使用面板内置的 Acme 申请功能,前提是域名已解析到 VPS IP 且 80 端口未被占用。如果面板不支持内置申请,则需通过 Nginx 反向代理实现 HTTPS,操作前需备份原有配置以防服务中断。
先说结论:优先使用面板自带 TLS 功能,其次选 Nginx 反向代理,必须拥有独立域名。
- 适合:需要 HTTPS 加密访问的管理面板场景
- 先准备:域名 DNS 解析生效,VPS 的 80/443 端口开放
- 验收:浏览器地址栏显示锁形图标,curl 命令返回 200 状态
命令速用版
若使用 Certbot 手动申请证书,可在 SSH 中执行以下命令获取泛域名或单域名证书:
certbot certonly `--standalone` -d yourdomain.com
证书文件通常位于/etc/letsencrypt/live/yourdomain.com/目录下,包含 fullchain.pem 和 privkey.pem。
为什么会这样
配置 TLS 证书的核心目的是建立加密通道并验证服务器身份,避免浏览器报不安全警告。
VPS 默认提供的是 HTTP 明文服务,配置 TLS 后升级为 HTTPS。XUI 面板若内置 Acme 脚本,可自动完成域名验证和证书更新;若无内置功能,则需外部 Web 服务器(如 Nginx)终止 SSL 连接后再转发流量给面板。
分步处理
步骤 1:确认域名解析
在域名服务商处添加 A 记录,将子域名或根域名指向 RackNerd VPS 的 IP 地址。使用ping yourdomain.com确认解析生效。
步骤 2:检查端口占用
执行ss -tulpn | grep :80查看 80 端口是否被占用。若面板内置申请功能,需确保 80 端口空闲以供 Let's Encrypt 验证。
步骤 3:应用证书
进入面板设置页面,找到 TLS/SSL 选项,输入域名并点击申请。若手动配置,将 certbot 生成的 pem 文件路径填入面板证书配置项。
步骤 4:重启服务
保存配置后重启面板服务,使新证书生效。注意记录重启前的配置以便回滚。
怎么验证是否生效
在浏览器访问https://yourdomain.com:端口,地址栏应显示绿色锁形图标。点击锁形图标可查看证书有效期和颁发机构。
在 VPS 终端执行curl -vI https://yourdomain.com:端口,返回头中应包含HTTP/2 200或HTTP/1.1 200且无证书错误警告。
常见坑
1. 80 端口被占用:若 VPS 上运行了其他 Web 服务,面板内置的 Acme 验证会失败,需先停止占用 80 端口的服务或使用 DNS 验证模式。
2. 防火墙拦截:RackNerd VPS 默认可能开启防火墙,需在系统内部和安全组放行 80 和 443 端口。
3. 证书过期:Let's Encrypt 证书有效期为 90 天,需确保护理面板开启了自动续期功能或设置定时任务。
常见问题
没有域名可以配置 TLS 吗?
不可以,公共可信的 TLS 证书必须绑定有效域名,IP 地址无法申请常规 Web TLS 证书。
配置后面板无法访问怎么办?
检查防火墙是否放行 HTTPS 端口,确认证书路径是否正确,并查看面板日志排查启动错误。
证书到期后会自动更新吗?
取决于面板功能,内置 Acme 功能通常支持自动续期,手动配置需自行设置 Crontab 任务更新。