You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VestaCP添加SSL证书后,网站根目录未从public_html改为public_shtml的问题

VestaCP中SSL_HOME='single'条件的检查逻辑及sdocroot不生效问题解答

一、SSL_HOME变量的来源

SSL_HOME是VestaCP的全局配置变量,存储在/usr/local/vesta/conf/vesta.conf文件中,默认值为default。只有当你开启独立SSL根目录功能时,这个值才会被设置为single。

二、脚本的检查逻辑

在prepare_web_domain_values函数里,脚本直接读取全局配置中的SSL_HOME值,与字符串'single'做比对:

  • 若匹配成功,就将sdocroot设为$HOMEDIR/$user/web/$domain/public_shtml;
  • 若不匹配,sdocroot会和普通的docroot保持一致,也就是public_html。

三、你的问题原因及解决办法

你添加SSL证书后,sdocroot仍指向public_html,说明当前SSL_HOME的值不是single。可以按以下步骤处理:

  1. 查看当前SSL_HOME的值:
    grep SSL_HOME /usr/local/vesta/conf/vesta.conf
    
  2. 若要启用独立SSL根目录,修改配置文件:
    打开/usr/local/vesta/conf/vesta.conf,将SSL_HOME='default'修改为SSL_HOME='single'。
  3. 重启VestaCP服务:
    service vesta restart
    
  4. 重新生成域名的SSL配置:
    可以在VestaCP面板的域名管理页面点击「编辑」并保存,或者用命令行执行:
    v-rebuild-web-domain admin 你的域名
    
    完成后%sdocroot%会被替换成public_shtml,SSL配置文件里的根目录也会同步更新。

内容的提问来源于stack exchange,提问作者Nina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:09:36