可通过四种方法在安装宝塔面板时同步部署SSL证书:一、官方脚本+Let’s Encrypt自动签发;二、预置acme.sh集成站点创建流程;三、Docker挂载预生成证书;四、调用宝塔API对接第三方CA。

如果您在安装宝塔面板后需要立即为站点启用HTTPS访问,但又希望跳过手动申请与配置SSL证书的繁琐流程,则可通过安装阶段集成自动化证书部署机制来实现。以下是多种可在安装宝塔面板时同步完成SSL证书部署的方法:
一、使用宝塔官方一键脚本并配合域名自动签发
该方法依赖宝塔Linux面板6.9+版本内置的Let’s Encrypt自动续签能力,在面板初始化完成后立即绑定域名并触发证书申请。需确保服务器已解析域名且开放80/443端口。
1、执行宝塔官方安装命令:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh。
2、安装完毕后,通过浏览器访问面板地址,登录并进入【网站】→【添加站点】,输入已解析的域名(如example.com)和根目录。
3、勾选【申请SSL】选项,并选择【Let’s Encrypt】,点击提交后系统将自动完成DNS验证或HTTP验证。
4、验证通过后,SSL证书即时部署至Nginx/Apache配置中,站点默认启用强制HTTPS跳转。
二、通过自定义安装脚本预置acme.sh并集成到站点创建流程
该方案适用于需要离线环境或对证书签发过程有完全控制权的场景,利用acme.sh工具在面板安装前预先配置好证书生成逻辑,并在站点创建时调用对应API接口完成绑定。
1、下载并安装acme.sh:curl https://get.acme.sh | sh。
2、执行宝塔安装脚本前,将acme.sh路径及默认CA配置写入环境变量:export ACME_SH_HOME="/root/.acme.sh"; export LE_WORKING_DIR="/www/server/panel/vhost/cert"。
3、安装宝塔后,编写Shell函数封装certonly与installcert命令,例如:在/www/server/panel/class/panelSite.py中注入调用逻辑。
4、添加站点时传入参数--ssl-auto,触发acme.sh以standalone模式监听本地80端口完成验证并部署证书文件至指定路径。
三、借助Docker镜像启动时挂载预生成证书并自动注入配置
此方式适用于容器化部署宝塔面板的测试或开发环境,通过提前生成好域名证书,并在容器运行时将其映射进Nginx配置目录,实现零延迟HTTPS启用。
1、使用OpenSSL生成自签名证书:openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout cert.key -out cert.crt。
2、构建包含宝塔面板的Dockerfile,在COPY指令中将cert.crt和cert.key复制至/www/server/panel/vhost/cert/example.com/目录。
3、修改Nginx站点模板conf文件,硬编码ssl_certificate与ssl_certificate_key指向挂载路径。
4、运行容器时添加-v参数挂载证书目录:docker run -d -p 8888:8888 -v $(pwd)/certs:/www/server/panel/vhost/cert bt-image。
四、利用宝塔API在安装后立即调用远程证书服务
该方法面向已有内部CA或商业证书管理平台的企业用户,通过宝塔开放的API接口,在面板初始化完成后自动向第三方证书中心发起CSR请求并回填证书链。
1、安装宝塔后,获取面板API密钥并在【设置】→【面板安全】中开启API开关。
2、构造POST请求体,调用/api/site/create_site接口,其中ssl字段设为true,并携带csr_content参数(由openssl req -new -key生成)。
3、接收返回的certificate和private_key字段值,调用/api/site/set_ssl接口提交证书内容。
4、确认响应code为0且data.status为success,表示SSL证书已成功写入站点配置并重载Nginx服务。










